@charset "utf-8";

/*
	** 콘텐츠 CSS
*/

/* 프로그램 */
.program-list {
    display:flex;
    flex-wrap:wrap;
    gap: 60px 40px;
    margin: 40px 0 60px;
}
.program-list .item {
    flex: 0 0 calc((100% - 120px) / 4);
    position:relative;
    box-shadow: 3px 3px 20px rgba(0,0,0,0.2);
    overflow: hidden;
    border-radius:20px 0 20px 0;
    transition: all 0.2s;
}
.program-list .item .item-img {
    position:relative;
    width:100%;
    height:0;
    padding-top:110%;
    overflow:hidden;
}
.program-list .item .item-img img {
    position:absolute;
    left:50%;
    top:0%;
    transform:translateX(-50%);
    width:100%;
    transition: all 0.2s;
}
.program-list .item .item-body {
    position:relative;
    background:#fff;
    padding:20px;
    border-radius:0 0 20px 0;
}
.program-list .item .item-body .title {
    font-size: 1.3em;
    font-weight: 600;
    margin-bottom: 10px;
}
.program-list .item .program-state {
    position:absolute;
    right:0;
    top:0;
}
.program-state {
    padding:10px;
    min-width:70px;
    text-align:center;
    color:#fff;
    background: #222;
    border-radius:0;
}
.state-progress .program-state,
.state-progress.program-state {
    background: var(--primary-color);
}
.state-pending .program-state,
.state-pending.program-state {
    background: var(--secondary-color);
}
.state-close .program-state,
.state-close.program-state {
    background: #222;
}
.program-list .item.state-close .item-img::after {
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.4);

}
.program-list .item .item-body .item-contents
.program-list .item .item-body .item-contents .title {
    font-size:1.2em;
    font-weight:500;
    margin-bottom:10px;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-weight:700;
    height: 60px;
}
.program-list .item .item-body .item-contents .content p {
    position:relative;
    display:block;
    font-size: 0.9em;
    color:#999;
    padding-left:60px;
    text-overflow: ellipsis;
    height: 23px;
    overflow: hidden;
    white-space: nowrap;
}
.program-list .item .item-body .item-contents .content p .tit {
    position:absolute;
    left:0;
    display:inline-block;
    color:#333;
    margin-right:10px;
    width:55px;
}
.program-list .item .item-body .item-contents .content p .tit::after {
    content:"";
    position:absolute;
    display:inline-block;
    width:4px;
    height:4px;
    border-radius:100%;
    background:#9f9f9f;
    right:10px;
    top:50%;
    transform:translateY(-50%);
}
.program-list .item:hover {
    box-shadow: 10px 10px 20px rgba(0,0,0,0.2);
}
.program-list .item:hover .item-img img {
    transform:translateX(-50%) scale(1.1);
}
.program-list .item:hover .item-body .item-contents .title {
    color:var(--primary-color);
}

@media screen and (max-width:1200px) {
    .program-list .item {
        flex: 0 0 calc((100% - 80px) / 3);
    }
}
@media screen and (max-width:1024px) {
    .program-list {
        gap: 40px 20px;
    }
    .program-list .item {
        flex: 0 0 calc((100% - 40px) / 3);
    }
}
@media screen and (max-width:768px) {
    .program-list .item {
        flex: 0 0 calc((100% - 20px) / 2);
    }
    .program-list .item .item-body .item-contents .title {
        height: 50px;
    }
}
@media screen and (max-width:520px) {
    .program-list .item {
        flex: 0 0 100%;
    }
    .program-list .item .item-body .item-contents .title {
        height: 50px;
    }
}

/* 프로그램 - 상세 */
.summary_wrap {
    position:relative;
    display:flex;
    padding-bottom:40px;
    gap:40px;
}
.summary_wrap .summary_img {
    flex: 0 0 310px;
    height: 100%;
    position: relative;
    background: #efefef;
    display: flex;
    justify-content: center;
}
.summary_wrap .summary_img img {
    max-width: 100%;
    max-height: 600px;
}
.summary_wrap .program-state {
    position:absolute;
    left:0;
    top:0;
}
.summary_wrap .summary_body {
    position:relative;
    width:100%;
}
.summary_wrap .summary_body h1 {
    font-size:1.8em;
    font-weight:700;
    margin-bottom:20px;
}
.summary_wrap .summary_body .infos {
    display:flex;
}
.summary_wrap .summary_body .info {
    display:inline-block;
    margin-right:40px;
    color:#888;
}
.summary_wrap .summary_body .info .tit {
    display:inline-block;
    margin-right:10px;
    font-weight:500;
    color:#333;
}
.summary_wrap .summary_body .infos.type02 {
    border-top:2px solid var(--primary-color);
    margin:20px 0;
    display:flex;
    flex-wrap:wrap;
}
.summary_wrap .summary_body .infos.type02 .info {
    position:relative;
    width:100%;
    padding:15px 10px 15px 160px;
    border-bottom:1px solid #ccc;
    margin-right:0;
}
.summary_wrap .summary_body .infos.type02 .info .tit {
    position:absolute;
    left:0;
    top:0;
    width:140px;
    height:100%;
    padding:15px 20px;
    background:#efefef;
    border-right:1px solid #ccc;
}
.summary_wrap .summary_body .infos.type02 .info.wid50 {
    width:50%;
}
.summary_wrap .summary_body .button-wrap {
    justify-content: end;
}
.summary_wrap .summary_body .btn_wrap .btn {
    position:relative;
    flex:1;
    background:#fff;
    color:#666;
    border:1px solid #787878;
    border-radius:30px;
    padding:5px 20px ;
    text-align:center;
    min-width:150px;
}
.summary_wrap .summary_body .btn_wrap .primary {
    border-color:var(--primary-color);
    color:var(--primary-color);
}
.summary_wrap .summary_body .btn_wrap .btn:hover {
    background:#efefef;
}
.summary_wrap .summary_body .btn_wrap .primary:hover {
    background:var(--primary-color);
    color:#fff;
}
.summary_wrap .m-board-state {
    position:absolute;
    left:0;
    top:0;
    padding:10px;
    min-width:90px;
    text-align:center;
    color:#fff;
    border-radius:0;
}

.summary_wrap .board-view-file {
    border-bottom: none;
    padding:0 0 0 30px;
    min-height: 0;
}
.summary_wrap .board-icon-file::before {
    left: 0;
}
.summary_wrap .board-view-file .board-col {
    text-decoration: underline;
    font-size: 0.9em;
}
.summary_wrap .board-view-file .board-col:hover {
    color: #000;
}
.detail_wrap {
    min-height:200px;
    border-top:2px solid #efefef;
    border-bottom:2px solid #efefef;
    padding:30px 0;
}

@media screen and (max-width:1024px) {
    .summary_wrap .summary_img {
        flex: 0 0 250px;
    }
}

@media screen and (max-width:768px) {
    .summary_wrap {
        flex-direction: column;
        align-items: center;
    }
    .summary_wrap .summary_img {
        max-width: 300px;
    }
    .summary_wrap .summary_body .infos.type02 .info {
        padding: 10px 10px 10px 120px;
    }
    .summary_wrap .summary_body .infos.type02 .info .tit {
        padding: 10px 20px;
        width: 100px;
    }
    .summary_wrap .summary_body .infos {
        display: flex;
        flex-wrap: wrap;
    }
    .summary_wrap .summary_body .info {
        margin-right: 20px;
    }
    .summary_wrap .summary_body .button-wrap {
        justify-content: center;
    }
}


.apply_wrap {
    max-width:1200px;
    margin:0 auto 50px;
    border:1px solid #ddd;
    box-shadow:10px 10px 20px rgba(0,0,0,0.2);
    padding: 50px 80px;
    border-radius: 20px 0 20px 0;
}
.apply_head {
    border-bottom:2px solid var(--primary-color);
    padding-bottom:30px;
    margin-bottom:30px;
}
.apply_head h1 {
    font-size:1.8em;
    font-weight:600;
    text-align:center;
}
.apply_head .infos {
    text-align:center;
    padding-top:10px;
}
.apply_head .infos .info {
    font-weight:500;
    padding:0 10px;
}
.apply_head .infos .info .tit {
    display:inline-block;
    font-weight:400;
    color:#777;
    margin-right:10px;
}
.apply_info {
    margin-bottom:10px;
}
.apply_body .form-title {
    flex: 0 0 160px;
    font-weight: 500;
}
.apply_body .button-wrap-full .button-color-primary {
    flex: 0 0 70%;
}
@media screen and (max-width:1024px) {
    .apply_wrap {
        padding: 40px;
    }
}
@media screen and (max-width:768px) {
    .apply_wrap {
        padding:0 20px;
        border:none;
        box-shadow:none;
        border-radius:0;
    }
    .apply_head {
        border-top: 1px solid #ddd;
        padding-top:20px;
        margin-bottom:0;
    }
    .form_wrap .item .title {
        width:100px;
    }
    .form_wrap .item .form {
        width:calc(100% - 100px);
    }
    .form_wrap .item .form .hyphen {
        padding:0 5px;
    }
    .form_wrap .item .form .input_radio label {
        margin-right:15px;
    }
    .form_wrap .item .infoTxt.type02 {
        padding-left:100px;
    }
    .agree_wrap .agree_body.scroll_none  * {
        font-size: 14px;
    }
}
@media screen and (max-width:500px) {
    .apply_wrap {
        padding:0;
    }
    .form_wrap .item {
        display:block
    }
    .form_wrap .item .title {
        width:100% ;
        padding-bottom:5px;
    }
    .form_wrap .item .form {
        width:100% ;
    }
    .form_wrap .item .infoTxt.type02 {
        padding-left:0px;
    }
}

/* 시설대관 */
.facility_list .item {
    display: flex;
    gap: 0;
    position:relative;
    overflow: hidden;
    border-radius:20px 0 20px;
    box-shadow:0 0 20px rgba(0,0,0,0.2);
    margin-bottom:40px;
    min-height: 400px;
}
.facility_list .item .img {
    flex:0 0 50%;
    position:relative;
    overflow: hidden;
    min-height:100%;
    background: #efefef;
}
.facility_list .item .img img {
    position:absolute;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
    min-height:100%;
    object-fit: cover;
}
.facility_list .item .text_box {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    width:100%;
    background:#fff;
    padding:30px 50px;
    gap: 25px;
}
.facility_list .item .text_box h4 {
    font-size:1.6em;
    font-weight:600;
}
.facility_list .item .text_box ul li {
    display:flex;
    padding:10px 0;
    border-bottom:1px solid #ddd;
}
.facility_list .item .text_box ul li:first-child {
    border-top:1px solid #ddd;
}
.facility_list .item .text_box ul .title {
    position: relative;
    flex:0 0 100px;
    font-weight:500;
}
.facility_list .item .text_box ul .title::after {
    content: "";
    position:absolute;
}
.facility_list .item .text_box .button-wrap {
    justify-content: flex-end;
    margin-top:0;
}
@media screen and (max-width:1024px) {
    .facility_list .item .text_box {padding:30px;}
}
@media screen and (max-width:768px) {
    .facility_list .item {flex-flow: column; min-height: 0;}
    .facility_list .item .img img {position: relative; top:0; left:0; transform: translate(0, 0); width: 100%;}
    .facility_list .item .text_box {padding:20px; gap: 15px;}
    .facility_list .item .text_box ul .title {flex:0 0 80px;}
    .facility_list .item .text_box .button-wrap {
        justify-content: center;
    }
}

.space-between {content:" "; margin:40px 0; border-top:1px solid #ccc;}

.area_new .facility_summary {margin-top:0;}

.facility_con_type02 {background-color:#fff; border:1px solid #ccc;}
.facility_con_type02 .content {padding:40px;}
.area_apply {}
.area_apply .section {margin-bottom:40px;}
.area_apply .facility_con {padding:40px 50px; background-color:#fff; border:1px solid #cccccc;}
.area_apply .facility_con .notice {font-size:0.9em;}
.facility_con.gray_back {background-color:#f1f1f1;}
.facility_con.gray_back p {color:#919191;}
.facility_con_type02.border-black {border:1px solid black; box-shadow:1px 1px 10px rgba(0,0,0,0.15);}
.area_apply .border-black  .subtitle_type02 {border-bottom:1px solid black;}
.area_apply .steps {position:relative; display:flex; padding:0; gap: 40px; border:none;}
.area_apply .steps::before {content:""; display:block; width:100%; height:1px; background-color:#ccc; position:absolute; top:50%; left:0; transform:translateY(-50%);}
.area_apply .step {display: flex; color:#999; font-weight:500; cursor:pointer; align-items: center;}
.area_apply .step .num {position: relative; background: #999; color: #fff; width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; line-height: 1; font-size: 0.9em;}
.area_apply .step .text {position: relative; background: #fff; padding:0 10px;}
.area_apply .step.active {flex: 1;}
.area_apply .step.active .num {background: var(--primary-color); color: #fff;}
.area_apply .step.active .text {color: var(--primary-color);}

@media screen and (max-width:1024px) {
    .facility_con_type02 .content {padding:30px;}
    .area_apply .facility_con {padding:20px;}
    .area_apply .section {margin-bottom:20px;}
}
@media screen and (max-width:768px) {
    .facility_con_type02 .content {
        padding: 20px;
    }
    .area_apply .steps::before {display: none;}
    .area_apply .step {display: none;}
    .area_apply .step.active {display: flex;}
}


.apply-select-wrap {display: flex; gap: 40px}
.apply-select-wrap .apply-select {width: 100%;}
.apply-select-wrap .apply-total {flex:0 0 360px;}
.apply-select-wrap .section {margin-bottom: 0;}

.area_apply .subtitle_type01 {margin-bottom:30px; font-size:30px; font-weight:500; text-align:center;}
.area_apply .subtitle_type01.underline {padding-bottom:30px; border-bottom:1px solid #d6d6d6;}
.area_apply .subtitle_type02 {padding:25px 50px; position:relative; font-size:20px; font-weight:500; background-color:#f1f1f1; border-bottom:1px solid #ccc;}
.area_apply .subtitle_type02 .img {margin-right:9px; position:relative;}
.area_apply .subtitle_type02 .box_refresh {position:absolute; top:50%; right:24px; transform:translateY(-50%);}
.area_apply .subtitle_type02 .box_refresh .hyphen {margin-left:5px; margin-right:9px; position:relative; top:-2px; font-size:13px;}
.area_apply .subtitle_type02 .box_refresh span {position:relative; font-size:14px; color:#999;}
.area_apply .subtitle_type02 .btn_refresh  {background-color:transparent; cursor:pointer;}
.area_apply .subtitle_type02 .btn_refresh .text {margin-left:2px; font-size:14px; font-weight:bold; color:#3a2288; }
.area_apply .subtitle_type02 .btn_refresh img {position:relative; top:-2px;}

@media screen and (max-width:1440px) {
    .apply-select-wrap {gap: 20px}
}

@media screen and (max-width:1024px) {
    .facility_summary{margin-top:-69px;}
    .photo_wrap .info{margin:0 50px -30px}
    .photo_wrap .info .info_txt{width:100%;}
    .photo_wrap .info ul{width:100%;}
    .photo_wrap .info ul li{width:100%; border-left:none; margin-bottom:10px;}
    .photo_wrap .thumb_wrap{margin:0 50px;}
    .apply-select-wrap {flex-flow: column;}
    .area_apply .subtitle_type02 {padding:20px 30px;}
    .slick-slide img {width:100%}
}
@media screen and (max-width:768px) {
    .photo_wrap .info{margin:0 0px 30px}
    .photo_wrap .thumb_wrap{margin:0;}
    .photo_wrap .thumb_wrap .slick-slide{height:80px;}
    .area_apply .subtitle_type02 {padding:20px;}
    .facility_con section{margin-bottom:40px;}
}
@media screen and (max-width:520px) {
    .photo_wrap .thumb_wrap{display:none;}
}

.area_apply .content_sub {padding:40px; background-color:#f1f1f1;}

.area_apply .alert {display:block; margin-bottom:20px; text-align:center;}
.area_apply .alert .img {margin-right:5px;}
.area_apply .alert .text {position:relative; top:1px; font-size:0.9em; font-weight:500;}

.area_apply .box_info {display:inline-block;}
.area_apply .box_info .title {display:inline-block; font-weight:500;}
.area_apply .infos .title {display:block; margin-bottom:10px;}

.area_apply .box_info .subtitle {display:block; position:relative; font-size:14px; font-weight:100; color:#a9a9a9;}
.area_apply .box_info .body {display:inline-block; padding:0;}
.area_apply .box_info.underline {padding-bottom:15px; border-bottom:1px solid #ccc;}
.area_apply .box_info .question img {display:none;}
.area_apply .box_info .question {display:inline-block; content:""; width:20px; height:20px; position:relative; margin-right:3px; cursor:pointer; background:none no-repeat; background-size:cover;}
.area_apply .box_info .question.active {background:none no-repeat; background-size:cover;}
.area_apply .box_info .answer {display:none; width:296px; max-height:560px; overflow-y:auto; padding:35px 35px 25px 35px; position:absolute; top:53px; right:50%; transform:translateX(50%); text-align:center; background-color:#3a3f4d; z-index:10;}
.area_apply .box_info .answer.point {width:242px; padding:20px 10px; top:35px; left:-249px; right:auto;}
.area_apply .box_info .answer.point .title {font-size:12px !important;}
.area_apply .box_info .answer.point .text {font-size:12px;}
.area_apply .box_info .answer.active {display:block; box-shadow:0px 3px 6px rgba(0,0,0,0.16);}
.area_apply .box_info .answer .title {width:unset; margin-right:0; font-size:18px !important; color:#fff;}
.area_apply .box_info .answer .detail {padding-bottom:10px;}
.area_apply .box_info .answer .detail:first-child {padding-top:10px;}
.area_apply .box_info .answer .text {display:block; margin-right:0; float:none; font-size:0.9em;}
.area_apply .box_info .answer .box {border-top:none; padding:0; background-color:#3a3f4d;}
.area_apply .box_info .answer .box02 {border-top:1px solid #c5c5c5; background-color:#3a3f4d;}

.area_apply .box_title {margin:60px auto; padding:0 30px; text-align:center;}
.area_apply .box_title .comment { text-align:center;}
.area_apply .box_title .title {display:inline-block; margin-bottom:10px; font-size:1.6em;; font-weight:500;}
.area_apply .box_title .check-circle {padding-left:55px;}
.area_apply .box_title .check-circle:before {width:35px; height:37px; top:50%; transform:translateY(-50%); background-size:100%;}

.area_apply .box_notice_type02 {position:relative; padding-left:43px;}
.area_apply .box_notice_type02:before {content:""; display:inline-block; width:23px; height:23px; position:absolute; top:50%; left:0; transform:translateY(-50%); background:none no-repeat;}

.area_apply .box_post .box_img {text-align:center;}
.area_apply .box_post .box_img img {display:inline-block; width:236px;}
.area_apply .box_post .title_main { display:block; margin:30px 0; float:none; font-size:22px; font-weight:500; text-align:center;}
.area_apply .box_post .box_info .title {width:83px; font-size:0.9em; margin-bottom:10px;}
.area_apply .box_post .box_info .body {margin-bottom:10px;}
.area_apply .box_post .answer {top:auto; bottom:37px;}
.area_apply .box_post .answer .title {width:auto;}
.area_apply .box_post .box_info .answer:before {top:auto; bottom:-10px;}

.table .box_post_type02:after {display:block; content:""; clear:both;}
.table .box_post_type02 .box_img {width:116px; float:left;}
.table .box_post_type02 .box_img img {width:100%;}
.table .box_post_type02 .box_text {margin-left:30px; padding-top:30px; float:left;}
.table .box_post_type02 .title_main {margin-bottom:33px; font-size:0.9em; font-weight:600;}
.table .box_post_type02 .body {padding:0; font-size:0.9em; color:#555; text-align:left;}

.area_apply .box_price {text-align: right;}
.area_apply .box_price .text {display:inline-block; margin-right:15px; position:relative; bottom:2px; font-weight:400;}
.area_apply .box_price .price {display:inline-block; font-size:1.6em;; font-weight:400;}

/* 특정 */
.area_apply .input_text {max-width:500px;}
.area_apply .box_times .box_info {display:inline-block; width:49%; text-align:center;}
.area_apply .box_calendar {text-align:center;}
.area_apply .box_calendar .box_info {display:inline-block;}
.area_apply .box_calendar .box_info .title {margin-right:14px;}
.area_apply .box_calendar .wave {margin:0 15px;}
.area_apply .box_calendar .input_date input {width:184px; height:auto; padding:13px 22px; line-height:normal;}
.area_apply .box_calendar.version01 .times {margin-top:30px; display: flex; flex-flow: wrap; gap: 15px;}
.area_apply .box_calendar.version01 .time {flex:0 0 calc((100% - 30px) / 3); cursor:pointer; box-sizing:border-box;}
.area_apply .box_calendar.version01 .time label {display:block; width:100%; padding:15px; box-sizing:border-box;  border:2px solid #d7d7d7; }
.area_apply .box_calendar.version01 .time label:before {display:none;}
.area_apply .box_calendar.version01 .time input:checked + label {border:2px solid var(--primary-color);}
.area_apply .box_calendar.version01 .time input:disabled + label {background-color:#f1f1f1; color:#999999;}
.area_apply .box_other {display:flex; flex-flow: wrap; gap: 20px;}
.area_apply .box_other .checkbox {flex:0 0 calc((100% - 40px) / 3);}
.area_apply .box_reservation {box-shadow:1px 1px 10px rgba(0,0,0,0.15);}
.area_apply .box_reservation .item {margin-top:10px; font-size:0.9em;}
.area_apply .box_reservation .item .point {margin-left:10px; font-size:14px; font-weight:100; color:#a9a9a9;}
.area_apply .box_pay .box_info {width:100%; margin-top:40px;}
.area_apply .box_pay .box_info:first-child {margin-top:0;}
.area_apply .box_pay .box_info .body { font-weight:500; float:right;}
.area_apply .box_pay .box_info .input_checkbox {margin-top:20px; font-size:0.9em;}
.area_apply .box_pay .box_info .input_checkbox label {font-size:0.9em; cursor:pointer;}
.area_apply .box_pay .box_info .input_checkbox .subtitle {display:inline-block; margin-left:7px;}
.area_apply .box_pay .box_top {min-height:300px; max-height:500px; overflow-y:auto; overflow-x:hidden;}
.area_apply .box_pay .box_bottom {padding-top:30px; border-top:1px solid #ccc;}
.area_apply .box_pay .box_bottom .btn_remove {display:none; margin-top:8px; padding:0 12px; font-size:14px; line-height:30px; color:#fff; background-color:red; border-radius:5px; border:none;}
.area_apply .box_pay .box_bottom .box_price .price {font-size:1.6em;; font-weight:600; color:var(--primary-color);}

@media screen and (max-width:1024px) {
    .area_apply .box_calendar.version01 .time {flex:0 0 calc((100% - 15px) / 2);}
}

.area_apply .box_reservator {text-align:left;}
.area_apply .box_reservator .box_info {margin-bottom:15px; display: inline-block; text-align:left;}
.area_apply .box_reservator .box_info:last-child {margin-bottom:0;}
.area_apply .box_reservator .box_info .title {width:160px; font-weight:300;}
.area_apply .box_reservator .box_info .title.point {position:relative; bottom:25px;}
.area_apply .box_reservator .box_info .input_text input {width:360px;}
.area_apply .box_reservator .box_info .input_three {width:360px;}
.area_apply .box_reservator .box_info .input_three input {width:100%;}
.area_apply .box_reservator .box_info .input_three select {border-radius:5px;}
.area_apply .box_reservator .box_info .input_text.with_btn input {width:100%;}
.area_apply .box_reservator .box_info .input_radios {width:360px;}
.area_apply .box_reservator .box_info .subtitle {width:360px; margin-top:5px; text-align:left;}
.area_apply .box_reservator .box_info.phone .title {position:relative; top:-15px;}
.area_apply .box_reservator .facility_con_type02 .content {padding:20px 0; margin:0 40px; }
.area_apply .box_reservator .facility_con_type02 .content .form-row:last-child {border-bottom: none;}
.area_apply .box_reservator .facility_con_type02 .content:last-child {border-bottom:none;}
.area_apply .section.place .box_info:after {display:block; content:""; clear:both;}
.area_apply .section.place .box_info {display:block; margin-top:10px;}
.area_apply .section.place .box_info:first-child {margin-top:0;}
.area_apply .section.place .box_info .title {width:100px; float:left;}
.area_apply .box_reservator .input_date {display:inline-block;}
.area_apply .box_reservator .input_date input {display:inline-block; max-width:500px; height:auto; line-height:normal; padding:13px 22px; max-width:171px;}
.area_apply .box_reservator input {border-radius:6px;}
.area_apply .date_performaance .title { position:relative; top:-32px;}
.area_apply .box_reservator .box_address .input_text {margin-bottom:10px;}
.area_apply .box_reservator .box_address .title {position:relative; top:-115px;}
.area_apply .box_reservator .box_number_performance .title {position:relative; top:-37px;}
.area_apply .box_file .title {position:relative; top:-45px;}
.area_apply .content02 .box_info .subtitle {width:100%;}
.area_apply .box_reservator .box_contents {display:block; margin-top:100px;}
.area_apply .box_reservator .box_contents .title {display:block; margin-bottom:15px;}
.area_apply .box_reservator .box_contents .body {display:block; width:100%;}
.area_apply .box_reservator .box_contents .input_textarea {width:100%;}
.area_apply .box_reservator .box_contents .input_textarea textarea {width:100%;}
.area_apply .box_reservator .gray_back {margin:20px 0;}
.area_apply .box_reservator .box_agree {display:block; border-bottom:1px solid #ccc; margin-bottom:0; padding:25px 50px;}
.area_apply .box_reservator .box_agree .check-circle:before {top:3px;}
.area_apply .box_reservator .box_agree .title {width:220px; float:left;}
.area_apply .box_reservator .box_agree .input_checkbox.check-circle label {padding-left:0; font-size:20px; font-weight:bold; cursor:pointer;}
.area_apply .box_reservator .box_agree .input_checkbox.check-circle input:checked + label:before {top:3px;}
.area_apply .box_reservator .box_agree .input_checkbox.check-circle input:checked + label:before {top:3px;}
.area_apply .box_reservator .box_agree a {font-weight:500;}

.area_apply .box_reservation_success .btn_finish {padding:0 45px;}
.area_apply .box_reservation_success .box_info {display:block; margin-top:15px;}
.area_apply .box_reservation_success .box_info .title {width:130px;  float:left;}
.area_apply .box_reservation_success .box_info .body .text { line-height:30px;}
.area_apply .box_reservation_success .box_info:first-child {margin-top:0;}
.area_apply .box_reservation_success .content_sub {position:relative;}
.area_apply .box_reservation_success .content_sub .box_price {position:absolute; top:50%; right:40px; transform: translateY(-50%);}
.area_apply .box_reservation_success .content_sub .box_price .text {margin-right:10px;  font-weight:400;}
.area_apply .box_reservation_success .content_sub .box_price .price {font-size:1.6em;; font-weight:400;}

.area_apply .box_reservation_perform .tab_content .subtitle {padding-top:3px; float:right; font-size:14px; color:#a9a9a9;}
.area_apply .box_reservation_perform .box_btns {margin-top:30px;}
.area_apply .box_reservation_perform .choice .content {max-height:500px; overflow-y:auto;}
.area_apply .box_reservation_perform .box_info {display:block;}


.area_apply .input_text .file_name {position:relative;}
.area_apply .input_text .file_name .btn_x {display: inline-block; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: #f5f5f5; padding: 4px; cursor:pointer;}

.area_reservation_login {text-align:center;}
.area_reservation_login .wrap {width:360px; margin:0 auto;}
.area_reservation_login .title {margin-bottom:30px;}
.area_reservation_login .box_inputs {margin-bottom:15px; box-shadow:0px 3px 6px rgba(0,0,0,0.16); border-radius:15px; overflow:hidden;}
.area_reservation_login .input {height:60px; background-color:#fff; border-bottom:1px solid #e1e1e1;}
.area_reservation_login .input input {display:block; width:100%; padding-left:30px; height:60px; line-height:60px; border:none; border-bottom:1px solid #eee;}
.area_reservation_login .btn_blue {display:block; width:100%; margin-bottom:55px; padding:10px 0; font-size:17px; color:white; background-color:#00a1e9; border-radius:22.5px;}
.area_reservation_login .link:before {content:"|"; margin-left:5px; margin-right:8px; position:relative; top:-3px; font-size:10px; color:#ccc;}
.area_reservation_login .link:first-child:before {display:none;}
.area_reservation_login .box { padding-bottom:75px;}
.area_reservation_login .box_top {border-bottom:1px solid #ccc;}
.area_reservation_login .box_bottom {padding-top:80px;}
.area_reservation_login .comment {margin-bottom:37px; color:#999;}

.area_reservation_check {text-align:center;}
.area_reservation_check .wrap {width:360px; margin:0 auto;}
.area_reservation_check .title {margin-bottom:30px;}
.area_reservation_check .subtitle {margin-bottom:40px; color:#888;}
.area_reservation_check .box_inputs {margin-bottom:30px; box-shadow:0px 3px 6px rgba(0,0,0,0.16); border-radius:15px; overflow:hidden;}
.area_reservation_check .input {height:60px; background-color:#fff; border-bottom:1px solid #e1e1e1;}
.area_reservation_check .input input {display:block; width:100%; padding-left:30px; height:60px; line-height:60px; border:none; border-bottom:1px solid #eee;}
.area_reservation_check .btn_blue {display:block; width:100%; margin-bottom:55px; padding:10px 0; font-size:17px; color:white; background-color:#00a1e9; border-radius:22.5px;}
.area_reservation_check .tabs {margin-bottom:30px;}
.area_reservation_check .tab {margin:0 10px; padding:0; font-size:20px; font-weight:600; color:#bfbfbf; background-color:transparent; border:none;}
.area_reservation_check .tab.active {position:relative; color:#333; background-color:transparent;}
.area_reservation_check .tab.active:after {display:inline-block; content:""; width:100%; height:1px; position:absolute; bottom:-8px; left:0;  background-color:black;}

.area_performance .box_post .box_info {display:block;}
.area_performance .box_perform_info .box_img img {display:inline-block;}
.area_performance .box_reservation_perform .facility_con_type02 .content {min-height:495px;}
.area_performance .step {width:25%;}
.area_performance .width-33 {width:32.33%; margin-left:1.5%;}
.area_performance .box_choice_seat .width-33 {width:31.33%; margin-left:2%;}

.area_performance .box_btns {margin-top:30px;}
.area_performance .box_price {display:block; width:100%; margin-top:50px; padding-top:30px; border-top:1px solid #ccc; text-align:right;}
.area_performance .box_choice_seat .content_people .box_info {margin-left:35px;}
.area_performance .box_choice_seat .content_people .title {padding-top:10px; float:left;}
.area_performance .box_choice_seat .content_people .body {margin-left:12px; float:left;}

.area_performance .box_input_info .width-33 {margin-left:1%;}
.area_performance .box_input_info .width-66 .box_info {display:block; margin-top:17px;}
.area_performance .box_input_info .width-66 .box_info.phone .title {position:relative; top:-18px;}
.area_performance .box_input_info .width-66 .box_info:first-child {margin-top:0;}
.area_performance .box_input_info .width-66 .box_info .title {width:120px; font-weight:400;}
.area_performance .box_input_info .input_select select {width:240px;}
.area_performance .box_input_info .input_text input {width:234px;}
.area_performance .box_input_info .input_text.long input {width:343px;}
.area_performance .body .input_radio {position:relative; top:6px;}
.area_performance .body .input_radio label {cursor:pointer;}
.area_performance .input_three {width:344px;}
.area_performance .section_agree .check-circle:before {top:1px;}
.area_performance .section_agree .input_checkbox.check-circle input:checked + label:before {top:1px;}
.area_performance .section_agree .facility_con_type02 .content {padding:21px 40px;}

.area_performance .input_three .input input {width:100%; text-align:center;}
.area_performance .input_three .input select {width:100%;}

.area_performance .box_check_order .box_img {width:20%; margin-right:4%;}
.area_performance .box_check_order .box_text {width:76%;}
.area_performance .box_check_order .box_post .title_main {margin-top:0; text-align:left;}
.area_performance .box_check_order .box_info {display:block;}
.area_performance .box_check_order .box_price {padding:40px; background-color:#f1f1f1;}
.area_performance .box_check_order .box_price .price {display:inline-block;}
.area_performance .box_check_order .box_price .box_info {text-align:left;}
.area_performance .box_check_order .box_post .box_img img {width:100%;}

.area_about_reservation .contents_wrap {background-color:#fff;}
.area_about_reservation .facility_summary {background-color:#fff;}
.area_about_reservation .table .box_info {display:block; margin-top:7px;}
.area_about_reservation .table .box_info:first-child {margin-top:0;}
.area_about_reservation .table .box_info .title {width:90px;}
.area_about_reservation .table .td02 {text-align:center;}
.area_about_reservation .table .td02 .box_post_type02 {display:inline-block;}
.area_about_reservation .table .td02 .box_info {text-align:left;}

.area_about_reservation .box_reservation_performance_view .title_main {padding-bottom:25px; font-size:30px; font-weight:500; background-color:#fff;}
.area_about_reservation .box_reservation_performance_view .box {padding:45px; border-top:2px solid black;}
.area_about_reservation .box_reservation_performance_view .box02 {background-color:#fff}
.area_about_reservation .box_reservation_performance_view .box02 .body {float:right;}
.area_about_reservation .box_reservation_performance_view .box02 .price {font-size:1.6em;; font-weight:500;}
.area_about_reservation .box_reservation_performance_view .box02 .point {margin-right:5px; padding:1px 3px; font-size:14px; background-color:#d7d7d7;}
.area_about_reservation .box_reservation_performance_view .box02 .answer {top:auto; bottom:53px;}
.area_about_reservation .box_reservation_performance_view .box_parent {background-color:#f1f1f1; border-bottom:1px solid #ccc;}
.area_about_reservation .box_reservation_performance_view .box_info {display:block; margin-top:24px;}
.area_about_reservation .box_reservation_performance_view .box_info:first-child {margin-top:0;}
.area_about_reservation .box_reservation_performance_view .box_info .title {width:120px;}
.area_about_reservation .box_reservation_performance_view .box_info:after {display:block; content:""; clear:both;}

.area_about_reservation .box_reservation_performance_view .red {font-weight:500;}
.area_about_reservation .box_reservation_performance_view .icon_notice {display:block; margin-bottom:10px;}
.area_about_reservation .box_reservation_performance_view .box_agree {padding-top:23px; padding-bottom:25px; border-top:1px solid #ccc; border-bottom:1px solid #ccc;}
.area_about_reservation .box_reservation_performance_view .box_agree .title {width:auto; margin-left:40px;}
.area_about_reservation .box_reservation_performance_view .box_agree label {display:block; width:auto; padding-left:0; padding-top:6px; font-size:20px; font-weight:600;}
.area_about_reservation .box_reservation_performance_view .box_btns {margin-top:100px;}
.area_about_reservation .box_reservation_performance_view .box .box_btns {margin-top:30px;}
.area_about_reservation .box_reservation_performance_view .btn_print_see {width:175px; margin:0 10px; padding:5px 0; font-size:0.9em; color:#8f8f8f; background-color:#fff; border:1px solid #8f8f8f; cursor:pointer;}
.area_about_reservation .box_reservation_performance_view .btn_print_see .active {display:none;}
.area_about_reservation .box_reservation_performance_view .btn_print_see img {display:inline-block; position:relative; right:5px; top:-2px;}
.area_about_reservation .box_reservation_performance_view .btn_print_see .text {display:inline-block; position:relative;}
.area_about_reservation .box_reservation_performance_view .btn_print_see:hover {background-color:#8f8f8f;}
.area_about_reservation .box_reservation_performance_view .btn_print_see:hover .text {color:#fff;}
.area_about_reservation .box_reservation_performance_view .btn_print_see:hover img {display:none;}
.area_about_reservation .box_reservation_performance_view .btn_print_see:hover .active {display:inline-block;}
.area_about_reservation .box_reservation_performance_view .box_post_type02 {margin-bottom:100px; padding:27px 60px; border-top:2px solid black; border-bottom:1px solid #ccc;}
.area_about_reservation .box_reservation_performance_view .box_post_type02 .title_main {padding-bottom:0; margin-bottom:25px; font-size:1.6em;;}
.area_about_reservation .box_reservation_performance_view .box_post_type02 .box_info {margin-top:8px;}
.area_about_reservation .box_reservation_performance_view .box_post_type02:after {display:block; content:""; clear:both;}
.area_about_reservation .box_reservation_performance_view .box_post_type02 .box_img {width:236px; height:340px; float:left;}
.area_about_reservation .box_reservation_performance_view .box_post_type02 .box_img img {display:block; width:100%;}
.area_about_reservation .box_reservation_performance_view .box_post_type02 .box_text {display:inline-block; margin-left:60px; padding-top:30px;}
.area_about_reservation .box_reservation_performance_view .box_post_type02 .box_infos {margin-bottom:40px;}
.area_about_reservation .box_reservation_performance_view.view02 .box_info {margin-top:8px;}
.area_about_reservation .box_reservation_performance_view.view02 .box_info .question {float:right; position:relative; top:2px; right:5px;}
.area_about_reservation .pagination {margin-top:30px;}

.area_reservation_rental_view .box_reservation_performance_view .box_top {margin-bottom:95px; border-bottom:1px solid #ccc;}
.area_reservation_rental_view .box_reservation_performance_view.view02 .box_info {margin-top:20px;}
.area_reservation_rental_view .box_reservation_performance_view.view02 .box_info:first-child {margin-top:0;}
.area_reservation_rental_view .link {padding-bottom:4px; color:#3b87dc; text-decoration: underline;}
.area_reservation_rental_view .box_reservation_performance_view .box_info .title {width:182px; float:left;}
.area_reservation_rental_view .box_reservation_performance_view.view02 .box_info .question {font-size:1.6em;;}
.area_reservation_rental_view .box_reservation_performance_view .box02 {min-height:295px;}
.area_reservation_rental_view .box_reservation_performance_view .question .box02 {min-height:auto;}

.area_reservation_rental_cancel .box_info .title {float:left;}
.area_reservation_rental_cancel .box02 {min-height:485px;}
.area_reservation_step2 .content.point {padding:0; overflow-x:auto;}

/* ## 팝업 ## */
.pop-up {
    position: absolute;
    z-index: 9980;
    background: #fff;
    box-shadow: 2px 2px 10px rgba(0,0,0,0.25);
}
.pop-up .pop-up-body {
    width: 100%;
    height: 100%;
}
.pop-up .pop-up-body img {
    width: 100%;
    height: 100%;
}
.pop-up .pop-up-footer {
    width: 100%;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 12px;
    background: #555;
    color: #fff;
    font-weight: 300;
    font-size: var(--font-size-13);
    box-shadow: 2px 2px 10px rgba(0,0,0,0.25);
}
.pop-up .pop-up-footer .checkbox {
    --checkbox-size: 15px;
}
.pop-up .pop-up-close {
    background: #333;
    padding: 0 12px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 6px;
    color: #fff;
    font-weight: 400;
}
.pop-up .pop-up-close::before {
    display: block;
    content:"\f00d";
    font-family: "Font Awesome 6 Pro";
    font-weight: 400;
    font-size: var(--font-size-20);
}
.pop-up.pop_window {
    width: 100% !important;
    height: auto !important;
    left: 0 !important;
    margin-left: 0;
    top: 0 !important;
}
@media screen and (max-width:767px) {
    .pop-up {
        width: 90% !important;
        height: auto !important;
        left: 50% !important;
        transform: translateX(-50%);
    }
    .pop-up .pop-up-footer {
        height: 34px;
    }
}
/* ===================== 색상 변수 ===================== */
:root {
    --color-blue-primary: #1F6CD0;
    --color-blue-dark: #1855B0;
    --color-blue-light: #DCEBFF;
    --color-blue-pale: #EEF5FF;
    --color-green-bg: #F0F8F1;
    --color-green-primary: #119129;
    --color-green-muted: #64A36F;
    --color-green-strong: #2e7d2e;

    --color-error: #CE3535;
    --color-pink: #EE4262;
    --color-pink-bg: #FFF2F5;

    --color-black: #1E1F1E;
    --color-gray-dark: #4B4D4C;
    --color-gray-mid: #6B747A;
    --color-gray-light: #8E99A1;
    --color-gray-border: #D6E0E7;
    --color-gray-disabled: #C2CED6;
    --color-gray-bg: #E6EEF3;
    --color-gray-card-bg: #F4F8FB;

    --color-white: #fff;
    --color-text-black: #000000;
    --color-text-dark: #111111;

    --color-file-bg: #f0f2fa;
    --color-file-border: #a8bcd5;
    --color-file-text: #1e2f6e;
    --color-file-remove: #809ac1;
    --color-file-remove-hover: #5a7bab;
    --color-accordion-border: #ebebeb;
    --color-consent-border: #e0e0e0;

    --text-mid: #43494D;
}

/* ===================== 카드 ===================== */
.card-group {
    display: flex;
}
.card-box {
    flex: 1;
    background-color: var(--color-white);
    border: 1px solid var(--color-gray-border);
    border-radius: 16px;
}

/* 카드 박스 패딩 종류 */
.card-box.pd-y32-x40 {
    padding: 32px 40px;
}
.card-box.pd-y32-x32 {
    padding: 32px;
}
.card-box.pd-y24-x32 {
    padding: 24px 32px;
}
.card-box.pd-y16-x16 {
    padding: 16px;
}
@media (max-width: 768px) {
    .card-box.pd-y32-x40 {
        padding: 24px 28px;
    }
    .card-box.pd-y32-x32 {
        padding: 24px;
    }
    .card-box.pd-y24-x32 {
        padding: 20px 24px;
    }
}
@media (max-width: 560px) {
    .card-box.pd-y32-x40 {
        padding: 20px 20px;
    }
    .card-box.pd-y32-x32 {
        padding: 20px;
    }
    .card-box.pd-y24-x32 {
        padding: 16px 20px;
    }
}
.card-box .card-title {
    font-weight: 600;
    font-size: var(--font-size-24);
    color: var(--color-black);
    margin-bottom: 8px;
    display: flex;
    justify-content: space-between;
}
.card-box .title-area.bd-btm {
    border-bottom: 1px solid var(--color-gray-border);
    margin-bottom: 16px;
}
.card-box .card-title .card-title-required {
    font-size: 16px;
    font-weight: 400;
    margin: 0 0 0 auto;
}
.card-box .card-title .card-title-required span {
    color: var(--color-pink);
}
.card-box .card-desc {
    font-size: var(--font-size-16);
}
.card-box .list-area ul li {
    font-size: var(--font-size-16);
    line-height: 1.8;
    padding-left: 12px;
    position: relative;
}
.card-box .list-area ul li::before {
    content: "●";
    position: absolute;
    left: 0;
    font-size: 4px;
    top: 9px;
    color: var(--color-blue-primary);
}
.card-box.state-disabled .list-area ul li::before {
    color: var(--color-gray-mid);
}

/* ===================== 버튼 공통 ===================== */
.btn {
    border-radius: 6px;
    text-align: center;
}
.btn .icon {
    line-height: 0;
}
.btn.sm {
    font-size: var(--font-size-16);
    font-weight: 600;
    padding: clamp(8px, 1.5vw, 10px) clamp(14px, 2.5vw, 18px);
}
.btn.md {
    font-size: var(--font-size-18);
    font-weight: 600;
    padding: clamp(7px, 1.5vw, 9px) clamp(16px, 3vw, 24px);
    flex-shrink: 0;
}
.btn.lg {
    font-size: var(--font-size-20);
    font-weight: 500;
    padding: clamp(9px, 2vw, 12px) clamp(20px, 4vw, 32px);
}
@media all and (max-width: 640px) {
    .btn.md {
        font-size: var(--font-size-16);
        font-weight: 500;
    }
}
@media all and (max-width: 480px) {
    .btn.md {
        font-size: var(--font-size-15);
    }
}
.btn-gray-bg {
    background-color: var(--color-gray-light);
    color: var(--color-white);
    transition: 0.1s;
}
.btn-green-bg {
    background-color: var(--color-blue-primary);
    color: var(--color-white);
    transition: 0.1s;
}
.btn-red-outline {
    color: var(--color-error);
    transition: 0.1s;
    border: 1px solid var(--color-error);
}
.btn-light-blue-outline-bg {
    color: var(--color-blue-primary);
    transition: 0.1s;
    border: 1px solid var(--color-blue-primary);
    background-color: var(--color-blue-pale);
}
.btn-green-bg.state-disabled {
    background-color: var(--color-gray-disabled);
}
.btn-green-bg.state-disabled .icon {
    display: none;
}
.btn-green-outline {
    border: 1px solid var(--color-blue-primary);
    color: var(--color-blue-primary);
    background-color: var(--color-white);
}
.btn-green-outline:hover {
    background-color: var(--color-blue-pale);
    box-shadow: 0px 0px 10px 0px #00000033;
}
.btn-gray-outline {
    border: 1px solid var(--color-gray-mid);
    color: var(--color-gray-mid);
    background-color: var(--color-white);
}
.btn.rounded {
    border-radius: 50px;
}
.btn.arrow {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: center;
}
.btn.plus {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
    padding-inline: 18px;
}

/* ===================== 뱃지 공통 ===================== */
.n-badge {
    font-weight: 600;
    font-size: var(--font-size-14);
    padding: 7px 10px;
    border-radius: 50px;
    display: inline-block;
    line-height: 1;
}
.n-badge.green {
    color: var(--color-white);
    background-color: var(--color-blue-primary);
}
.n-badge.green-light {
    color: var(--color-blue-dark);
    background-color: var(--color-blue-light);
}
.n-badge.red {
    color: var(--color-white);
    background-color: var(--color-error);
}
.n-badge.blue {
    color: var(--color-white);
    background-color: #2B80F0;
}
.n-badge.gray {
    color: var(--color-white);
    background-color: var(--color-gray-light);
}
.n-badge.real-green {
    color: var(--color-white);
    background-color: var(--color-green-primary);
}
.n-badge.orange {
    color: var(--color-white);
    background-color: #FE6202;
}

/* ===================== 필드 공통 ===================== */
.field-box.field-half {
    max-width: 820px;
}
.field-box.field-full {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px 40px;
}
.field-area {
    margin-bottom: 20px;
}
.field-area .field {
    display: flex;
    gap: 58px;
}
.field-area .field > label {
    font-weight: 600;
    font-size: var(--font-size-18);
    min-width: 103px;
    height: 42px;
    line-height: 42px;
}
.field-area .field > label.max-label {
    min-width: 120px;
}
.field-area .field > label .req {
    color: var(--color-pink);
}
.field-area .field-inline {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}
.field-area .field-inline select {
    flex: 1;
}
.field-area .field-split {
    display: flex;
    align-items: center;
    gap: 8px;
}
.field-area .field-input,
.field-area .field-select {
    border-color: var(--color-gray-border);
    border-radius: 6px;
    height: 42px;
    line-height: 42px;
    width: 100%;
}
.field-area .field-input.state-disabled,
.field-area .field-select.state-disabled {
    border-color: var(--color-gray-border) !important;
    background-color: var(--color-gray-bg);
    color: var(--color-gray-mid);
}
.field-area .field-input.state-readonly,
.field-area .field-select.state-readonly {
    border-color: var(--color-gray-light);
    color: var(--color-black);
}
.field-area .field-input:not(.state-disabled):hover,
.field-area .field-input:not(:read-only):hover,
.field-area .field-input:not(:disabled):hover {
    border-color: var(--color-blue-primary) !important;
}
.field-area .field-input:not(.state-disabled):focus,
.field-area .field-input:not(:read-only):focus,
.field-area .field-input:not(:disabled):focus {
    background-color: var(--color-blue-pale);
    border-color: var(--color-blue-primary) !important;
}
.field-area .field-select {
    min-width: 80px;
}
.field-area .field-select.state-readonly,
.field-area .field-select.state-disabled {
    background-image: none;
}

/* ===================== 파일 업로드 ===================== */
.file-upload-wrap {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.file-upload-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.file-upload-row .file-input {
    display: none;
}
.file-upload-row .file-result {
    display: none;
    align-items: center;
    gap: 8px;
    height: 36px;
    padding: 0 10px;
    background: var(--color-file-bg);
    border: 1px solid var(--color-file-border);
    border-radius: 6px;
    color: var(--color-file-text);
    max-width: 360px;
    min-width: 0;
}
.file-upload-row .file-result.visible {
    display: flex;
}
.file-upload-row .file-result-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
}
.file-upload-row .file-result-remove {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--color-file-remove);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background 0.15s;
}
.file-upload-row .file-result-remove:hover {
    background: var(--color-file-remove-hover);
}
.file-upload-wrap .file-hint {
    line-height: 1.5;
}

/* ===================== 타이틀 ===================== */
.title-box {
    display: flex;
    justify-content: space-between;
    margin-bottom: 16px;
}
.title-box .title {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.title-box .section-title {
    font-size: var(--font-size-28);
    font-weight: 600;
    line-height: 1.6;
}
.title-box .section-desc {
    font-size: var(--font-size-18);
    font-weight: 500;
    line-height: 1.6;
}
.title-box .btn {
    align-self: end;
    background-color: var(--color-white);
    border: 1px solid var(--color-gray-border);
    border-radius: 50px;
    padding: 9px 16px;
    color: var(--color-gray-mid);
    font-size: var(--font-size-16);
    font-weight: 500;
    transition: 0.1s;
}
.title-box .btn:hover {
    border-color: var(--color-black);
    color: var(--color-black);
}

/* ===================== 유의사항 박스 ===================== */
.notice-box {
    background: var(--color-pink-bg);
    border-radius: 16px;
    padding: 32px;
    margin-bottom: 24px;
}
.notice-set {
    margin-top: 16px;
}
.notice-set .guide-box.bg-transparent{
    padding-top: 0;
}
.notice-head {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: var(--font-size-18);
    font-weight: 500;
    color: var(--color-pink);
    margin-bottom: 8px;
}
.notice-icon {
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    flex-shrink: 0;
}
.notice-box ul {
    list-style: none;
    padding: 0;
    padding-left: 24px;
}
.notice-box ul li {
    font-size: var(--font-size-16);
    line-height: 1.8;
    padding-left: 0;
    position: relative;
}
.notice-box ul li::before {
    content: "●";
    position: absolute;
    left: -11px;
    font-size: 4px;
    top: 9px;
    color: var(--color-pink);
}
.notice-box .guide-body {
    display: flex;
    gap: 8px;
}
.notice-box .guide-body.border {
    border: 1px solid var(--color-gray-border);
    border-radius: 16px;
}
.notice-box .guide-body.pd-y16-x16 {
    padding: 16px;
}
.notice-box .guide-box {
    flex: 1;
    background: var(--color-white);
    border-radius: 8px;
    padding: 16px;
}
.notice-box .guide-box.bg-transparent {
    background: none;
}
.notice-box.pd-0 {
    padding: 0;
}
.notice-box.bg-transparent {
    background: transparent;
}
/* title */
.notice-box .guide-title {
    background: var(--color-pink);
    color: var(--color-white);
    font-weight: 500;
    font-size: var(--font-size-18);
    padding: 7px 12px;
    border-radius: 6px;
}
/* description */
.notice-box .guide-desc {
    margin-top: 7px;
}
/* button */
.notice-box .btn-download {
    margin-top: 8px;
    padding: 8px 14px;
    border-radius: 20px;
    border: 1px solid var(--color-pink);
    background: var(--color-white);
    color: var(--color-pink);
    font-size: var(--font-size-16);
    cursor: pointer;
    transition: all 0.2s;
    font-weight: 500;
}
.notice-box .btn-download:hover {
    background: var(--color-pink-bg);
    box-shadow: 0px 0px 10px 0px #00000033;
}
.notice-box .btn-download.gray {
    margin-top: 8px;
    padding: 8px 14px;
    border-radius: 20px;
    border: 1px solid var(--color-gray-mid);
    background: var(--color-white);
    color: var(--color-gray-mid);
    font-size: var(--font-size-16);
    cursor: pointer;
    transition: all 0.2s;
    font-weight: 500;
    display: inline-block;
}

/* ===================== 상태 뱃지 ===================== */
.status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    padding: 4px 10px;
    font-size: 16px;
    font-weight: 600;
    color: var(--color-white);
    white-space: nowrap;
}
.status-badge.applied {
    background: var(--color-gray-mid);
}
.status-badge.approved {
    background: var(--color-green-primary);
}
.status-badge.rejected {
    background: var(--color-error);
}
.summary-item {
    display: flex;
    align-items: center;
    gap: 12px;
}
.settle-req-wrap .summary-count {
    display: flex;
    align-items: center;
    gap: 4px;
    line-height: 27px;
}
.status-area {
    margin-top: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.status-reason.rejected {
    color: var(--color-error);
    font-weight: 500;
}

/* ===================== 스텝퍼 ===================== */
.pre-register-wrap .stepper {
    display: flex;
    align-items: center;
    margin-bottom: 112px;
}
.pre-register-wrap .step {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--font-size-18);
    font-weight: 500;
    color: var(--color-gray-mid);
    flex: 1;
    padding: 0 10px 10px;
    border-bottom: 1px solid var(--color-gray-border);
}
.pre-register-wrap .step.active {
    color: var(--color-black);
    font-weight: 600;
    position: relative;
}
.pre-register-wrap .step.active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    border-bottom: 2px solid var(--color-blue-primary);
}
.pre-register-wrap .step-num {
    width: 29px;
    height: 29px;
    border-radius: 50%;
    background: var(--color-gray-mid);
    color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.pre-register-wrap .step.active .step-num {
    background: var(--color-blue-primary);
}
.pre-register-wrap .section-block {
    margin-bottom: calc(var(--space-md) * 2.4);
}
.pre-register-wrap .section-block:last-child {
    margin-bottom: 0;
}
.pre-register-wrap .section-block .section-set {
    margin-bottom: calc(var(--space-md) * 0.8);
}
.pre-register-wrap .section-block .section-set:last-child {
    margin-bottom: 0;
}
.pre-register-wrap .card-group {
    gap: 24px;
}
.pre-register-wrap .badge-area {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
}
.pre-register-wrap .title-area {
    padding-bottom: 16px;
    margin-bottom: 4px;
}
.pre-register-wrap .list-area {
    color: var(--color-black);
}
.pre-register-wrap .card-box {
    display: flex;
    flex-direction: column;
}
.pre-register-wrap.step01 .card-box {
    transition: 0.1s;
}
.pre-register-wrap.step01 .card-box:not(.state-disabled):hover {
    background-color: var(--color-blue-pale);
    box-shadow: 0px 4px 16px 0px #00000014;
    border-color: var(--color-gray-border);
    transform: translateY(-8px);
}
.pre-register-wrap .btn-area {
    flex: 1;
    display: flex;
    align-items: flex-end;
    margin-top: 24px;
    justify-content: center;
}
.pre-register-wrap .btn-green-bg.rounded.arrow {
    width: 100%;
}
.pre-register-wrap .card-box.state-disabled {
    background-color: var(--color-gray-card-bg);
}
.pre-register-wrap .card-box.state-disabled .n-badge.green {
    background-color: var(--color-gray-disabled);
}
.pre-register-wrap .card-box.state-disabled .n-badge.green-light {
    background-color: var(--color-gray-bg);
    color: var(--color-gray-disabled);
}
@media (max-width: 768px) {
    .pre-register-wrap .stepper {
        margin-bottom: 40px;
    }
}

/* 인증완료 아이콘 */
.pre-register-wrap .is-verified {
    position: relative;
    padding-left: 28px;
    line-height: 1;
    align-self: center;
}
.pre-register-wrap .is-verified::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background-image: url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='mask0_67_3587' style='mask-type:luminance' maskUnits='userSpaceOnUse' x='2' y='2' width='22' height='22'%3E%3Cpath d='M13 21.5001C14.1164 21.5014 15.2221 21.2822 16.2536 20.8549C17.285 20.4277 18.2219 19.8008 19.0103 19.0104C19.8008 18.222 20.4276 17.2851 20.8549 16.2537C21.2821 15.2222 21.5014 14.1165 21.5 13.0001C21.5014 11.8836 21.2821 10.7779 20.8549 9.74647C20.4276 8.71502 19.8008 7.77816 19.0103 6.98972C18.2219 6.19928 17.285 5.57243 16.2536 5.14518C15.2221 4.71793 14.1164 4.49869 13 4.50007C11.8836 4.49869 10.7779 4.71793 9.74641 5.14518C8.71496 5.57243 7.7781 6.19928 6.98965 6.98972C6.19922 7.77816 5.57237 8.71502 5.14512 9.74647C4.71787 10.7779 4.49863 11.8836 4.50001 13.0001C4.49863 14.1165 4.71787 15.2222 5.14512 16.2537C5.57237 17.2851 6.19922 18.222 6.98965 19.0104C7.7781 19.8008 8.71496 20.4277 9.74641 20.8549C10.7779 21.2822 11.8836 21.5014 13 21.5001Z' fill='white' stroke='white' stroke-width='4' stroke-linejoin='round'/%3E%3Cpath d='M9.71387 13.1889L12.3205 15.7956L17.5339 10.5823' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_67_3587)'%3E%3Cpath d='M2 2H23.9355V23.9355H2V2Z' fill='%231F6CD0'/%3E%3C/g%3E%3C/svg%3E%0A");
    width: 26px;
    height: 26px;
}

/* 인증대기 아이콘 */
.pre-register-wrap .is-not-verified {
    position: relative;
    padding-left: 28px;
    line-height: 1;
    align-self: center;
}
.pre-register-wrap .is-not-verified::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 1.5C7.74566 1.5 5.58365 2.39553 3.98959 3.98959C2.39553 5.58365 1.5 7.74566 1.5 10C1.5 12.2543 2.39553 14.4163 3.98959 16.0104C5.58365 17.6045 7.74566 18.5 10 18.5C12.2543 18.5 14.4163 17.6045 16.0104 16.0104C17.6045 14.4163 18.5 12.2543 18.5 10C18.5 7.74566 17.6045 5.58365 16.0104 3.98959C14.4163 2.39553 12.2543 1.5 10 1.5ZM10.7969 5.75V11.0625H9.20312V5.75H10.7969ZM10.7969 12.6562V14.25H9.20312V12.6562H10.7969Z' fill='%23EE4262'/%3E%3C/svg%3E%0A");
    width: 26px;
    height: 26px;
}
.pre-register-wrap .card-group .field-area:last-child {
    margin-bottom: 0;
}
.pre-register-wrap .participant-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.pre-register-wrap .bottom-block {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}
.pre-register-wrap .bottom-block .btn {
    min-width: 180px;
}
.pre-register-wrap .bottom-block .btn.btn-green-outline:hover {
    box-shadow: none;
    background-color: initial;
}
.pre-register-wrap .agree-box {
    margin-top: 32px;
}
.pre-register-wrap .agree-box-title {
    font-size: var(--font-size-18);
    font-weight: 600;
    margin-bottom: 8px;
}
.pre-register-wrap .agree-box-title .req {
    color: var(--color-pink);
}

/* ===================== 동의 박스 ===================== */
.pre-register-wrap .consent-box {
    border-top: 1px solid var(--color-consent-border);
    padding-top: 12px;
    display: flex;
    align-items: center;
    padding-bottom: 6px;
}
.pre-register-wrap .checkbox-input:checked + .checkbox-check {
    background: var(--color-blue-primary);
    border-color: var(--color-blue-primary);
}
.pre-register-wrap .checkbox-text {
    margin-right: 8px;
}
.pre-register-wrap .checkbox-check {
    border-radius: 4px;
}
.consent-box .btn-detail {
    border-bottom: 1px solid var(--color-text-dark);
    color: var(--color-text-dark);
    flex-shrink: 0;
    margin-right: 8px;
}
.consent-box .btn-remove {
    margin: 0 0 0 auto;
    flex-shrink: 0;
}

/* 신청 인원 */
.pre-register-wrap .apply-count {
    color: var(--color-text-black);
    font-weight: 600;
    font-size: var(--font-size-20);
    text-align: center;
    margin-top: 24px;
}
.pre-register-wrap .apply-count .num {
    color: var(--color-blue-primary);
}

/* 이용동의 */
.pre-register-wrap .privacy-wrap {
    font-size: var(--font-size-14);
    line-height: 1.8;
    max-height: 180px;
    overflow-y: auto;
    margin-bottom: 8px;
}
.pre-register-wrap .privacy-intro {
    margin: 0 0 0.5em;
}
.pre-register-wrap .privacy-section-title {
    font-size: 15px;
    font-weight: bold;
}
.pre-register-wrap .privacy-section-body {
    margin: 0 0 0.5em;
    padding-left: 1em;
}
.pre-register-wrap .privacy-list {
    margin: 0.25em 0 0.5em 0;
    padding-left: 1.3em;
}
.pre-register-wrap .privacy-list__item {
    margin-bottom: 0.2em;
    position: relative;
}
.pre-register-wrap .privacy-list__item::before {
    content: '-';
    position: absolute;
    left: -0.75em;
}
.pre-register-wrap .privacy-sub-section {
    margin: 0.75em 0 0.5em 1em;
}
.pre-register-wrap .privacy-sub-section__title {
    font-weight: bold;
    margin: 0 0 0.25em;
}
.pre-register-wrap .privacy-note {
    margin: 0.5em 0 0;
}

/* ===================== 사전신청 3단계 ===================== */
.complete-header {
    text-align: center;
    margin-bottom: 40px;
}
.complete-header-title {
    font-size: var(--font-size-28);
    font-weight: 600;
    margin-bottom: 16px;
}
.complete-header-title-em {
    font-weight: 600;
    color: var(--color-blue-primary);
}
.complete-header-desc {
    font-size: var(--font-size-18);
    color: var(--color-gray-dark);
    line-height: 1.5;
}

/* info */
.complete-info {
    border: 1px solid var(--color-gray-border);
    border-radius: 16px;
    padding: 32px 40px;
}
.complete-info-list {
    list-style: none;
}
.complete-info-row {
    display: flex;
    align-items: center;
    padding: 12px 8px;
    border-bottom: 1px solid var(--color-gray-border);
    line-height: 1.4;
}
.complete-info-row:last-child {
    border-bottom: none;
}
.complete-info-label {
    width: 100px;
    font-size: var(--font-size-18);
    font-weight: 600;
    color: var(--color-text-black);
    flex-shrink: 0;
}
.complete-info-value {
    font-size: var(--font-size-18);
}
.complete-info-value--point {
    color: var(--color-blue-primary);
    font-weight: 600;
}
.complete-info-list.member-list .complete-info-row {
    gap: 20px;
}
.complete-info-list.member-list .complete-info-label,
.complete-info-list.member-list .complete-info-value {
    flex: 0 0 300px;
    text-align: center;
}
.complete-steps-list {
    display: flex;
    align-items: center;
    gap: 43px;
    list-style: none;
    margin-bottom: calc(var(--space-md) * 1.2);
    align-items: stretch;
}
.complete-step {
    flex: 1;
    border: 1px solid var(--color-gray-border);
    border-radius: 16px;
    padding: 32px;
    min-width: 0;
    position: relative;
}
.complete-step:not(:last-child)::after {
    content: '';
    position: absolute;
    background-image: url("data:image/svg+xml,%3Csvg width='27' height='28' viewBox='0 0 27 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 28L10 14L0 0H4.9L14.9 14L4.9 28H0ZM11.9 28L21.9 14L11.9 0H16.8L26.8 14L16.8 28H11.9Z' fill='%236A91C3'/%3E%3C/svg%3E%0A");
    left: calc(100% + 8px);
    top: 50%;
    transform: translateY(-50%);
    width: 27px;
    height: 28px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.complete-step-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
}
.complete-step-num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--color-blue-primary);
    color: var(--color-white);
    font-size: var(--font-size-20);
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}
.complete-step-name {
    font-size: var(--font-size-24);
    font-weight: 600;
}
.complete-step-desc {
    line-height: 1.6;
}

/* ===================== 미디어쿼리 ===================== */
@media (max-width: 1390px) {
    .field-box.field-full {
        gap: 0 10px;
    }
    .field-area .field {
        gap: 30px;
    }
}
@media (max-width: 1390px) {
    .field-box.field-full {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 1048px) {
    .pre-register-wrap .type-box {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
    .title-box .section-title {
        font-size: var(--font-size-26);
    }
    .title-box .section-desc {
        font-size: var(--font-size-18);
    }
    .card-box .card-title {
        font-size: var(--font-size-22);
    }
    .complete-step {
        padding: 20px;
    }
}
@media (max-width: 768px) {
    .title-box .section-title {
        font-size: var(--font-size-24);
    }
    .title-box .section-desc {
        font-size: var(--font-size-16);
    }
    .card-box .card-title {
        font-size: var(--font-size-20);
    }
    .pre-register-wrap .step {
        font-size: var(--font-size-16);
    }
    .pre-register-wrap .step-num {
        width: 24px;
        height: 24px;
        font-size: var(--font-size-14);
    }
    .title-box .btn {
        font-size: var(--font-size-15);
    }
    .notice-box {
        padding: 16px;
    }
    .pre-register-wrap .consent-box {
        flex-direction: column;
    }
    .consent-box .btn-detail {
        margin-bottom: 20px;
        align-self: end;
    }
    .complete-header-title {
        font-size: var(--font-size-24);
    }
    .complete-info {
        padding: 24px 32px;
    }
    .complete-info-row {
        flex-direction: column;
        align-items: baseline;
    }
    .complete-steps-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    .complete-step:not(:last-child)::after {
        content: none;
    }
    .notice-box .guide-body {
        flex-direction: column;
    }
    .notice-box .guide-body.pd-y16-x16 {
        padding: 0;
    }
    .complete-info-list.member-list .complete-info-label,
    .complete-info-list.member-list .complete-info-value {
        flex: 0 0 0px;
    }
}
@media (max-width: 710px) {
    .field-area {
        margin-bottom: 10px;
    }
    .field-area .field {
        flex-direction: column;
        gap: 0px;
    }
    .card-box.pd-y32-x32 {
        padding: 24px;
    }
    .card-box.pd-y32-x32.member-card {
        position: relative;
        padding-bottom: 70px;
    }
}
@media (max-width: 560px) {
    .title-box .section-title {
        font-size: var(--font-size-22);
    }
    .pre-register-wrap .type-box .card-box.pd-y32-x32 {
        padding: 18px;
    }
    .pre-register-wrap .type-box {
        grid-template-columns: 1fr;
    }
    .pre-register-wrap .bottom-block .btn {
        min-width: auto;
    }
    .complete-steps-list {
        flex-direction: column;
        align-items: stretch;
    }
    .complete-step:not(:last-child)::after {
        right: auto;
        left: 50%;
        top: auto;
        top: calc(100% + 8px);
        transform: translateX(-50%) rotate(90deg);
    }
    .card-box.pd-y32-x40 {
        padding: 24px 30px;
    }
    .card-box.pd-y32-x32.member-card {
        padding: 0;
        border: none;
        border-radius: 0;
        border-top: 1px solid var(--color-gray-border);
    }
    .title-box:has(.btn) {
        flex-direction: column;
        gap: 12px;
    }
    .field-area .field-inline:has(.is-verified) {
        flex-direction: column;
        align-items: baseline;
    }
    .pre-register-wrap .is-verified {
        align-self: inherit;
    }
    .pre-register-wrap .consent-box {
        margin-top: 20px;
    }
    .field-area .field > label.max-label + .field-inline {
        flex-direction: column;
    }
    .complete-header-title {
        font-size: var(--font-size-22);
    }
    .complete-info {
        padding: 20px 24px;
    }
    .complete-steps-list {
        grid-template-columns: 1fr;
    }
    .field-area .field-inline:has(.field-split) {
        flex-direction: column;
        align-items: stretch;
    }
}
@media (max-width: 480px) {
    .pre-register-wrap .stepper .txt{
        display: none;
    }
}

/* ===================== 정산신청 ===================== */
.settle-req-wrap .section-block {
    margin-bottom: calc(var(--space-md) * 2.4);
}
.settle-req-wrap .section-block:last-child {
    margin-bottom: 0;
}
.settle-req-wrap .section-block .section-set {
    margin-bottom: calc(var(--space-md) * 0.8);
}
.settle-req-wrap .section-block .section-set:last-child {
    margin-bottom: 0;
}
.guide-card {
    background-color: var(--color-pink-bg);
    padding: 32px;
}
.guide-card.pd-0 {
    padding: 0;
}
.guide-card.bg-transparent {
    background-color: transparent;
}
.guide-card .guide-header {
    display: flex;
    align-items: center;
}
.guide-card .guide-header .icon {
    line-height: 0;
}
.guide-card .guide-header h2 {
    font-weight: 600;
}
.guide-card .guide-header.emphasis h2 {
    color: var(--color-pink);
}
.guide-card .guide-header + .guide-columns {
    margin-top: 16px;
}
.guide-card .guide-columns {
    display: flex;
    justify-content: space-between;
    gap: 48px;
}
.guide-card .guide-col {
    display: flex;
    gap: 16px;
    align-items: center;
    flex: 1;
}
.guide-card .guide-thumb {
    padding: 10px;
}
.guide-card .guide-thumb.good {
    border: 2px solid var(--color-green-primary);
    border-radius: 16px;
}
.guide-card .guide-thumb.bad {
    border: 2px solid var(--color-error);
    border-radius: 16px;
}
.guide-card .guide-badge {
    color: var(--color-white);
    font-size: var(--font-size-18);
}
.guide-card .guide-badge {
    padding: 7px 12px 7px 43px;
    border-radius: 6px;
    margin-bottom: 16px;
    position: relative;
    width: 100%;
    display: inline-block;
    width: 100%;
}
.guide-card .guide-badge::before {
    content: '';
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    background-position: center;
    background-size: cover;
    width: 24px;
    height: 24px;
}
.guide-card .guide-badge.good::before {
    background-image: url(../img/contents/guide-badge-good.png);
}
.guide-card .guide-badge.bad::before {
    background-image: url(../img/contents/guide-badge-bad.png);
}
.guide-card .guide-badge.good {
    background-color: var(--color-green-primary);
}
.guide-card .guide-list {
    padding-left: 11px;
    margin-left: 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.guide-card .guide-list li {
    position: relative;
    line-height: 1.6;
}
.guide-card .guide-list li::before {
    content: '';
    position: absolute;
    left: -11px;
    top: 10px;
    width: 3px;
    height: 3px;
    border-radius: 50%;
}
.guide-card .guide-list.good li::before {
    background-color: var(--color-green-primary);
}
.guide-card .guide-list.bad li::before {
    background-color: var(--color-error);
}
.guide-card .guide-badge.bad {
    background-color: var(--color-error);
}
.guide-card .guide-content {
    flex: 1;
}
.notice-box .guide-list {
    padding-left: 11px;
    margin-left: 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.notice-box .guide-list.default {
    margin-top: 8px;
}
.notice-box .guide-list li {
    position: relative;
    line-height: 1.6;
}
.notice-box .guide-list li::before {
    content: '';
    position: absolute;
    left: -11px;
    top: 7px;
    width: 3px;
    height: 3px;
    border-radius: 50%;
}
.notice-box .guide-list.default li::before {
    background-color: var(--color-pink);
}

.settle-req-wrap .upload-card-box {
    display: flex;
    gap: 16px;
}
.settle-req-wrap .upload-card-add {
    margin-bottom: 16px;
    flex: 1;
    border: 2px dashed var(--color-gray-border);
    padding: 32px;
    background-color: var(--color-gray-card-bg);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.settle-req-wrap .upload-card-add .upload-label {
    text-align: center;
    font-size: var(--font-size-20);
    font-weight: 600;
    margin-bottom: 16px;
}
.settle-req-wrap .upload-card {
    flex:1;
    border: 1px solid var(--color-gray-border);
    padding: 32px;
    background-color: var(--color-gray-card-bg);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.settle-req-wrap .upload-card.drag-over {
    border-color: var(--color-blue-primary);
    background: var(--color-blue-pale);
}
.settle-req-wrap .upload-card .upload-label {
    text-align: center;
    font-size: var(--font-size-20);
    font-weight: 600;
    margin-bottom: 16px;
}

.upload-card-wrap {
    display: flex;
    flex-flow: column;
    gap: 20px;
    border: 1px solid var(--color-gray-border);
    padding: 32px;
    border-radius: 16px;
}
.upload-card-wrap .upload-card-item {
    flex: 1;
    display: flex;
    flex-flow: column;
    gap: 24px;
    border-bottom: 1px dashed var(--color-blue-primary);
    padding-bottom: 24px;
}

.upload-card-wrap .upload-card-item .item-title {
    font-size: var(--font-size-24);
    font-weight: 600;
}

.settle-req-wrap .content-box {
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.settle-req-wrap .attach-item {
    border-top: 1px solid var(--color-gray-border);
    margin-top: 16px;
    position: relative;
}
.settle-req-wrap .field-area {
    display: flex;
    margin-bottom: 0;
    gap: 32px;
    padding-top: 40px;
}
.settle-req-wrap .status-area + .field-area {
    padding-top: 12px;
}
.settle-req-wrap .field-area .field {
    flex: 1;
    flex-direction: column;
    gap: 12px;
}
.settle-req-wrap .field-area .field:nth-child(2) {
    flex: 1.5;
}
.settle-req-wrap .field-area .field > label {
    height: auto;
    line-height: 1.6;
}
.settle-req-wrap .attach-link {
    text-decoration: underline;
    flex: 1;
    display: flex;
    align-items: center;
}
.settle-req-wrap .field-value {
    flex: 1;
    display: flex;
    align-items: center;
    word-break: break-word;
}
.settle-req-wrap .card-box .delete-btn {
    position: absolute;
    right: 0;
    top: 16px;
}
.settle-req-wrap .final-check {
    background-color: var(--color-gray-card-bg);
}
.settle-req-wrap .final-check .accordion {
    margin-top: 16px;
}
.settle-req-wrap .final-check .card-title {
    justify-content: flex-start;
    gap: 16px;
    margin-bottom: 0;
    font-size: var(--font-size-20);
}
.settle-req-wrap .final-check .card-title .amount {
    color: var(--color-blue-primary);
    font-weight: 600;
}
.settle-req-wrap .final-check .title-area {
    position: relative;
}
.settle-req-wrap .accordion-toggle {
    position: absolute;
    background: url(../img/contents/icon-arrow-bottom-gray.png) no-repeat center;
    width: 24px;
    height: 24px;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s ease;
}
.settle-req-wrap .is-open .accordion-toggle {
    transform: rotate(180deg) translateY(50%);
}
.settle-req-wrap .accordion-body {
    overflow: hidden;
    max-height: 0;
    border-top: 1px solid transparent;
    margin-top: 0;
    padding-top: 0;
    transition: max-height 0.3s ease, padding-top 0.3s ease, margin-top 0.3s ease, border-top 0.3s ease;
}
.settle-req-wrap .is-open .accordion-body {
    border-top: 1px solid var(--color-accordion-border);
    margin-top: 16px;
    padding-top: 16px;
    max-height: 300px;
}
.settle-req-wrap .accordion-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 500px;
    margin: 0 auto;
}
.settle-req-wrap .accordion-list li {
    font-size: var(--font-size-18);
    padding-left: 28px;
    position: relative;
    display: flex;
    justify-content: space-between;
}
.settle-req-wrap .accordion-list {
    counter-reset: accordion-counter;
}
.settle-req-wrap .accordion-list li {
    counter-increment: accordion-counter;
}
.settle-req-wrap .accordion-list li::before {
    content: counter(accordion-counter);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 9px;
    border: 2px solid var(--color-black);
    border-radius: 50%;
    width: 10px;
    height: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 14px;
    font-weight: 900;
}
.settle-req-wrap .accordion-list li strong {
    font-weight: 600;
}
.settle-req-wrap .final-check .card-group {
    display: flex;
    gap: 16px;
}
.settle-req-wrap .summary-count {
    font-weight: 600;
}
.settle-req-wrap .summary-count strong {
    font-size: 24px;
    font-weight: 700;
    color: var(--color-green-primary);
}
.settle-req-wrap .summary-count strong.blue {
    color: var(--color-blue-primary);
}
.settle-req-wrap .summary-count.rejected strong {
    color: var(--color-error);
}
.settle-req-wrap .summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 8px;
    font-size: var(--font-size-18);
    flex-wrap: wrap;
    gap: 6px;
}
.settle-req-wrap .summary-row + .summary-confirm {
    margin-top: 12px;
}
.settle-req-wrap .summary-confirm strong {
    font-weight: 600;
    padding-left: 8px;
}
.settle-req-wrap .bottom-block {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}
.settle-req-wrap .bottom-block .btn {
    min-width: 180px;
}
.settle-req-wrap .bottom-block .btn.btn-green-outline {
    box-shadow: none;
    background-color: initial;
}
.settle-req-wrap .history-box .card-group {
    gap: 32px;
    margin-bottom: 48px;
}
.settle-req-wrap .history-box .card-title {
    font-size: var(--font-size-20);
}

@media (max-width: 1260px) {
    .settle-req-wrap .guide-thumb {
        flex: 0.9;
    }
}
@media (max-width: 1060px) {
    .settle-req-wrap .guide-columns {
        flex-direction: column;
        gap: 20px;
    }
    .settle-req-wrap .guide-thumb {
        flex: none;
    }
    .settle-req-wrap .field-area {
        flex-direction: column;
        gap: 10px;
        padding-top: 25px;
    }
    .settle-req-wrap .field-area .field {
        padding-top: 16px;
        gap: 5px;
    }
    .settle-req-wrap .final-check .card-group {
        flex-direction: column;
    }
    .status-area {
        margin-top: 64px;
    }
}
@media (max-width: 768px) {
    .settle-req-wrap .guide-thumb {
        flex: 0.6;
    }
    .upload-card-wrap {
        flex-direction: column;
    }
}
@media (max-width: 630px) {
    .settle-req-wrap .guide-col {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }
    .settle-req-wrap .guide-columns {
        align-items: baseline;
    }
    .settle-req-wrap .guide-thumb {
        align-self: baseline;
    }
    .upload-card-wrap {
        gap: 20px;
    }
}
@media (max-width: 560px) {
    .settle-req-wrap .history-box .card-group {
        flex-direction: column;
        gap: 16px;
    }
}
@media (max-width: 435px) {
    .settle-req-wrap .final-check .card-title {
        flex-direction: column;
    }
}

/* ===================== 마이페이지 > 업로드 팝업 ===================== */
.settle-req-wrap.upload-popup .notice-box {
    background: var(--color-white);
}
.settle-req-wrap.upload-popup .guide-card {
    background: var(--color-white);
}
.settle-req-wrap.upload-popup .guide-columns {
    flex-direction: column;
}
.settle-req-wrap.upload-popup .notice-box .guide-body {
    flex-direction: column;
}
.btn-popup-close {
    margin: 0 auto 20px;
    width: fit-content;
    display: flex;
}

/* ===================== 팝업 검색 영역 ===================== */
.apply-detail-popup .search-wrap {
    border: none;
    background: none;
    padding: 0;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--color-gray-border);
    margin-bottom: 16px;
}
.apply-detail-popup .search-form {
    flex: 1;
    position: relative;
}
.apply-detail-popup .search-form::before {
    content: '';
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    background-image: url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.6667 21.6666L17.2792 17.2791M17.2792 17.2791C17.9834 16.5749 18.5421 15.7389 18.9232 14.8188C19.3043 13.8987 19.5004 12.9125 19.5004 11.9166C19.5004 10.9207 19.3043 9.93454 18.9232 9.01444C18.5421 8.09434 17.9834 7.25832 17.2792 6.55411C16.575 5.84989 15.739 5.29128 14.8189 4.91016C13.8988 4.52904 12.9126 4.33289 11.9167 4.33289C10.9208 4.33289 9.93466 4.52904 9.01456 4.91016C8.09446 5.29128 7.25844 5.84989 6.55423 6.55411C5.132 7.97633 4.33301 9.90528 4.33301 11.9166C4.33301 13.9279 5.132 15.8569 6.55423 17.2791C7.97645 18.7013 9.9054 19.5003 11.9167 19.5003C13.9281 19.5003 15.857 18.7013 17.2792 17.2791Z' stroke='%231E1F1E' stroke-width='2.16667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
    background-size: 26px 26px;
    width: 26px;
    height: 26px;
}
.apply-detail-popup .search-btn {
    background-color: var(--color-blue-primary);
    color: var(--color-white);
    border-radius: 0 8px 8px 0;
    padding: 0 26px;
    white-space: nowrap;
    width: auto;
}
.apply-detail-popup .search-btn:before {
    content: none;
}
.apply-detail-popup input {
    padding-left: 45px;
    padding-right: 92px;
}
.apply-detail-popup input,
select {
    line-height: 42px;
    height: 42px;
    border-radius: 6px;
}
.attraction-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.attraction-item {
    padding: 12px;
    border-radius: 12px;
    border: 1px solid var(--color-gray-border);
    display: flex;
    align-items: center;
    gap: 16px;
}
.attraction-item:hover {
    background-color: var(--color-blue-pale);
    border-color: var(--color-gray-border);
    box-shadow: 0px 4px 8px 0px #00000014;
}
.attraction-item:hover .btn.btn-gray-outline {
    border-color: var(--color-blue-primary);
    color: var(--color-blue-primary);
}
.attraction-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    line-height: 1.6;
}
.attraction-title {
    font-weight: 500;
    font-size: var(--font-size-18);
}
.attraction-thumb {
    display:none;
    width: 124px;
    height: 93px;
    flex-shrink: 0;
    overflow: hidden;
}
.attraction-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.attraction-desc {
    color: var(--color-gray-dark);
}
.attraction-item .btn {
    flex-shrink: 0;
}
.apply-detail-popup .more-area {
    margin-top: 12px;
}
.apply-detail-popup .more-area .btn-more {
    background-color: var(--color-blue-light);
    color: var(--color-blue-primary);
    font-weight: 600;
    width: 100%;
    padding-block: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}
.apply-detail-popup .total-count {
    text-align: right;
    color: var(--color-gray-dark);
    font-size: var(--font-size-14);
    padding-top: 4px;
    border-top: 1px solid var(--color-gray-border);
    margin-top: 16px;
}


/* ========================
   QUICK LINKS
======================== */
.mypage-wrap .quick-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 64px;
}

.mypage-wrap .quick-links-item {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px 32px;
    border: 1px solid var(--color-gray-border);
    border-radius: 16px;
    text-decoration: none;
    background: var(--color-white);
    transition: border-color 0.2s, box-shadow 0.2s;
}

.mypage-wrap .quick-links-desc {
    margin: 0;
    line-height: 1.6;
}

.mypage-wrap .quick-links-label {
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 600;
    color: var(--color-blue-primary);
    display: flex;
    align-items: center;
    gap: clamp(6px, 2vw, 10px);
}

.mypage-wrap .quick-links-arrow {
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 600;
    color: var(--color-blue-primary);
}

/* ========================
   마이페이지
======================== */
.mypage-wrap .apply-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 64px;
}

.mypage-wrap .apply-list-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.mypage-wrap .apply-list-title {
    font-size: clamp(20px, 2vw, 28px);
    font-weight: 600;
    margin: 0;
}

.mypage-wrap .apply-list-title.flex-1 {
    flex: 1;
}


/* ========================
   APPLY CARD
======================== */
.mypage-wrap .apply-card {
    border: 1px solid var(--color-blue-primary);
    border-radius: 16px;
    background: var(--color-gray-card-bg);
    overflow: hidden;
}
.mypage-wrap .apply-card.white-card {
    border-color: var(--color-gray-border);
    background: var(--color-white);
}

.mypage-wrap .apply-card-top {
    display: flex;
    align-items: flex-start;
    gap: clamp(20px, 2vw, 32px);
    padding: 24px 40px 32px;
    position: relative;
}

.mypage-wrap .apply-card-icon {
    position: relative;
    flex-shrink: 0;
    width: clamp(80px, 2vw, 110px);
    height: clamp(80px, 2vw, 110px);
    background-color: var(--color-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mypage-wrap .apply-card-icon::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: clamp(60px, 2vw, 80px);
    height: clamp(60px, 2vw, 80px);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
/* 상태에 따른 아이콘 */
.mypage-wrap .pre-required .apply-card-icon::before {
    background-image: url(../img/contents/icon-apply-pre-required.svg);
}
.mypage-wrap .pre-done .apply-card-icon::before {
    background-image: url(../img/contents/icon-apply-pre-done.svg);
}
.mypage-wrap .traveling .apply-card-icon::before {
    background-image: url(../img/contents/icon-apply-traveling.svg);
}
.mypage-wrap .settle-required .apply-card-icon::before {
    background-image: url(../img/contents/icon-apply-settle-required.svg);
}
.mypage-wrap .reviewing .apply-card-icon::before {
    background-image: url(../img/contents/icon-apply-reviewing.svg);
}
.mypage-wrap .rejected .apply-card-icon::before {
    background-image: url(../img/contents/icon-apply-rejected.svg);
}
.mypage-wrap .refunding .apply-card-icon::before {
    background-image: url(../img/contents/icon-apply-refunding.svg);
}
.mypage-wrap .refund-done .apply-card-icon::before {
    background-image: url(../img/contents/icon-apply-refund-done.svg);
}
.mypage-wrap .apply-card__icon-badge {
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
    border: 2px solid var(--color-white);
}

.mypage-wrap .apply-card-info {
    flex: 1;
    min-width: 0;
}

.mypage-wrap .apply-card-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.mypage-wrap .apply-card-code {
    font-size: clamp(16px, 2vw, 18px);
    color: var(--color-blue-primary);
    font-weight: 600;
}

.mypage-wrap .apply-card-type {
    color: var(--color-gray-mid);
    background: var(--color-white);
    padding: 2px 8px;
    border-radius: 20px;
    border: 1px solid var(--color-gray-border);
    font-weight: 500;
}

.mypage-wrap .apply-card-status-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.mypage-wrap .apply-card-status {
    font-size: clamp(20px, 2vw, 24px);
    font-weight: 700;
    margin: 0 0 16px;
    display: flex;
    align-items: center;
    gap: 16px;
}

.mypage-wrap .apply-card-status .n-badge {
    font-size: clamp(14px, 2vw, 16px);
    font-weight: 500;
}
.mypage-wrap .apply-card-status-row .apply-card-status {
    margin-bottom: 0;
}
.mypage-wrap .apply-card-status-row + .apply-card-dates {
    margin-top: 12px;
}

.mypage-wrap .apply-card-rejected {
    display: flex;
    gap: 8px;
    margin-bottom: 5px;
}
.mypage-wrap .apply-card-rejected-label {
    color: var(--color-pink);
    white-space: nowrap;
    font-weight: 500;
    line-height: 1.6;
}
.mypage-wrap .apply-card-rejected-value {
    color: var(--text-mid);
    line-height: 1.6;
}

.mypage-wrap .apply-card-dates {
    display: grid;
    grid-template-columns: repeat(2, max-content);
    gap: 4px 32px;
}

.mypage-wrap .apply-card__date-group {
    display: flex;
    align-items: center;
    gap: 8px;
    width: calc(50% - 16px);
}

.mypage-wrap .apply-card__date-label {
    color: var(--text-mid);
    white-space: nowrap;
    font-weight: 500;
    line-height: 1.6;
}

.mypage-wrap .apply-card__date-value {
    color: var(--text-mid);
    white-space: nowrap;
    line-height: 1.6;
}

.mypage-wrap .apply-card-btns {
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: absolute;
    right: 32px;
}
.mypage-wrap .apply-card-btn {
    flex-shrink: 0;
    align-self: center;
    padding: 8px 18px;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none;
    background: var(--color-white);
    white-space: nowrap;
    transition: border-color 0.2s, color 0.2s;
    min-width: 120px;
    text-align: center;
}
.mypage-wrap .apply-card-btn.btn-blue-outline {
    color: var(--color-blue-primary);
}
.mypage-wrap .apply-card-btn.btn-gray-outline {
    color: var(--text-mid);
    border-color: var(--color-gray-border);
}

/* ========================
   APPLY CARD STEPS
======================== */
.mypage-wrap .apply-card-steps {
    border: 1px solid var(--color-gray-border);
    border-radius: 10px;
    padding: 24px;
    padding: clamp(16px, 2vw, 24px);
    margin: 0 clamp(28px, 2vw, 40px) clamp(16px, 2vw, 24px);
    background-color: var(--color-white);
}

.mypage-wrap .apply-card-steps-title {
    font-size: clamp(18px, 2vw, 20px);
    font-weight: 600;
    margin: 0 0 clamp(24px, 2vw, 32px);
}

.mypage-wrap .apply-card-steps-list {
    display: flex;
    align-items: center;
    gap: clamp(12px, 2vw, 40px);
}

.mypage-wrap .apply-card-step {
    display: flex;
    gap: clamp(12px, 2vw, 18px);
    flex: 1;
    min-width: 105px;
}

.mypage-wrap .apply-card-step-arrow {
    font-size: 20px;
    flex-shrink: 0;
    line-height: 1;
    margin-bottom: 18px;
}

.mypage-wrap .apply-card-step-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 700;
    flex-shrink: 0;
}
/* 진행상태*/
.mypage-wrap .step-complete .apply-card-step-circle{
    background-color: var(--color-green-primary);
    color: var(--color-white);
    overflow: hidden;
    text-indent: -9999999999999em;
    position: relative;
}
.mypage-wrap .step-complete .apply-card-step-circle::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 7L10 17L5 12' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") center/24px no-repeat;
    width: 24px;
    height: 24px;
}
.mypage-wrap .step-current .apply-card-step-circle {
    background-color: var(--color-blue-primary);
    color: var(--color-white);
}
.mypage-wrap .apply-card-step-text {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.mypage-wrap .step-current .apply-card-step-name,
.mypage-wrap .step-current .apply-card-step-state {
    color: var(--color-blue-primary);
}
.mypage-wrap .step-pending .apply-card-step-circle {
    background-color: var(--color-gray-mid);
    color: var(--color-white);
}
.mypage-wrap .step-rejected .apply-card-step-circle {
    background-color: var(--color-error);
    color: var(--color-white);
}
.mypage-wrap .step-rejected .apply-card-step-state {
    color: var(--color-error);
}
.mypage-wrap .step-pending .apply-card-step-name,
.mypage-wrap .step-pending .apply-card-step-state {
    color: var(--color-gray-mid);
}
.mypage-wrap .apply-card-step-name {
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 600;
    margin: 0;
    text-align: center;
    white-space: nowrap;
}

.mypage-wrap .apply-card-step-state {
    font-size: 16px;
    margin: 0;
}

.mypage-wrap .complete-info-title {
    font-weight: 600;
    font-size: clamp(20px, 2vw, 24px);
    margin-bottom: clamp(26px, 2vw, 32px);
}

.mypage-wrap .bottom-block{
    display: flex;
    justify-content: center;
    margin-top: 40px;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.mypage-wrap .apply-card .bottom-block {
    padding-bottom:20px;
    margin-top: 0;
}


/* ========================
   RESPONSIVE
======================== */
@media (max-width: 768px) {
    .mypage-wrap .quick-links {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .mypage-wrap .apply-card-top {
        flex-direction: column;
        gap: 12px;
    }

    .mypage-wrap .apply-card-btn {
        align-self: flex-start;
        margin-left: auto;
    }

    .mypage-wrap .apply-card-dates {
        gap: 4px 20px;
        grid-template-columns: repeat(1, max-content);
    }

    .mypage-wrap .apply-card-steps {
        padding: 16px;
    }

    .mypage-wrap .apply-card-step-text {
        flex-direction: row;
    }

    .mypage-wrap .apply-card-steps-list {
        gap: 0;
        flex-direction: column;
        align-items: flex-start;
    }

    .mypage-wrap .apply-card-step-circle {
        width: 30px;
        height: 30px;
        font-size: 16px;
    }

    .mypage-wrap .apply-card-step-arrow {
        transform: rotate(90deg);
        margin-left: 5px;
        margin-bottom: 0;
    }
}
@media (max-width: 500px) {
    .mypage-wrap .apply-card-dates {
        grid-template-columns: 1fr
    }
    .attraction-item {
        flex-direction: column;
    }
    .attraction-item .btn {
        align-self: end;
    }
}
@media (max-width: 480px) {
    .mypage-wrap .quick-links-desc {
        display: none;
    }
    .mypage-wrap .apply-card-status {
        flex-wrap: wrap;
        gap: 4px;
        margin-bottom: 24px;
    }

    .mypage-wrap .apply-card-status-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .mypage-wrap .apply-card-dates {
        flex-direction: column;
        gap: 4px;
    }

    .mypage-wrap .apply-card-steps-list {
        gap: 2px;
    }

    .mypage-wrap .quick-links-item {
        padding: 16px;
    }
}

/* 자주 묻는 질문 */
.faq-wrap .faq-item {
    background: var(--color-white);
    border: 1px solid var(--color-blue-primary);
    border-radius: 16px;
    margin-bottom: 32px;
    overflow: hidden;
}

.faq-wrap .faq-question {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 32px 40px;
    padding: clamp(16px, 2vw, 32px) clamp(20px, 2vw, 40px);
    cursor: pointer;
    user-select: none;
    background-color: var(--color-white);
}

.faq-wrap .badge-q {
    width: 38px;
    height: 38px;
    border-radius: 6px;
    background: var(--color-blue-primary);
    color: var(--color-white);
    font-size: clamp(18px, 2vw, 20px);
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.faq-wrap .badge-a {
    width: 38px;
    height: 38px;
    border-radius: 6px;
    background: var(--color-pink);
    color: var(--color-white);
    font-size: clamp(18px, 2vw, 20px);
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
}

.faq-wrap .faq-question-text {
    flex: 1;
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 600;
}

.faq-wrap .faq-chevron {
    background: url("data:image/svg+xml,%3Csvg width='36' height='18' viewBox='0 0 36 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_281_290)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M19.0665 2.76459L27.552 11.2501L25.431 13.3711L18.006 5.94609L10.581 13.3711L8.45996 11.2501L16.9455 2.76459C17.2268 2.48339 17.6082 2.32541 18.006 2.32541C18.4037 2.32541 18.7852 2.48339 19.0665 2.76459Z' fill='%23ABB7BF'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_281_290'%3E%3Crect width='18' height='36' fill='white' transform='matrix(0 -1 1 0 0 18)'/%3E%3C/ClipPath%3E%3C/defs%3E%3C/svg%3E%0A") no-repeat center / contain;
    width: 36px;
    height: 18px;
    transform: rotate(180deg);
    transition: transform 0.1s ease-in-out;
}

.faq-wrap .faq-answer {
    display: none;
    padding: 32px 40px;
    padding: clamp(16px, 2vw, 32px) clamp(20px, 2vw, 40px);
}

.faq-wrap .faq-item.open .faq-question {
    background-color: var(--color-gray-card-bg);
}

.faq-wrap .faq-item.open .faq-answer {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.faq-wrap .faq-item.open .faq-chevron {
    transform: rotate(0);
}

.faq-wrap .faq-answer-text {
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 500;
    line-height: 1.7;
}
/* 신청안내 */
.apply-guide-wrap .section-set {
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.apply-guide-wrap .title-box {
    margin-bottom: 0;
}
.apply-guide-wrap .notice-box {
    margin-bottom: 0;
}
.apply-guide-wrap .card-group {
    gap: 24px;
}
.apply-guide-wrap .badge-area {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
}
.apply-guide-wrap .card-box {
    display: flex;
    flex-direction: column;
}
.apply-guide-wrap .section-block {
    margin-bottom: calc(var(--space-md) * 2.4);
}
.apply-guide-wrap .section-block:last-child {
    margin-bottom: 0;
}
.apply-guide-wrap .section-block .section-set {
    margin-bottom: calc(var(--space-md) * 0.8);
}
.apply-guide-wrap .section-block .section-set:last-child {
    margin-bottom: 0;
}

.apply-guide-wrap .notice-box .guide-list li {
    padding-left: 0;
}
.apply-guide-wrap .btn-area {
    flex: 1;
    display: flex;
    align-items: flex-end;
    margin-top: 24px;
    justify-content: center;
}
.apply-guide-wrap .title-area {
    margin-bottom: clamp(16px, 2vw, 24px);
    font-weight: 600;
    font-size: clamp(20px, 2vw, 24px);
    display: flex;
    align-items: center;
    gap: 8px;
}
.apply-guide-wrap .step-zone {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.apply-guide-wrap .arrow {
    align-self: center;
}
.apply-guide-wrap .step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: var(--color-blue-primary);
    color: var(--color-white);
    font-size: 20px;
    font-weight: 600;
}
.apply-guide-wrap .bullet-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-left: 32px;
}
.apply-guide-wrap .bullet-list.pl-0 {
    padding-left: 0;
}
.apply-guide-wrap .bullet-list li {
    position: relative;
    padding-left: 11px;
    font-size: 16px;
    line-height: 1.6;
}
.apply-guide-wrap .bullet-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background-color: var(--color-blue-primary);
}
.apply-guide-wrap .bullet-list strong {
    font-weight: 700;
}
.apply-guide-wrap .bullet-list .n-badge {
    margin-left: 8px;
    margin-right: 4px;
}
.apply-guide-wrap .step-box .card-btn-area {
    display: flex;
    justify-content: flex-start;
    gap: 16px;
    padding-left: 32px;
    margin-top: 8px;
}
.apply-guide-wrap .apply-btn {
    margin: 0 auto;
    border-radius: 24px;
    width: fit-content;
}
.apply-guide-wrap .question-area {
    margin-top: clamp(50px, 2vw, 80px);
}
.apply-guide-wrap .question-area .title {
    font-weight: 600;
    font-size: clamp(20px, 2vw, 24px);
    margin-bottom: 40px;
    display: flex;
    align-items: center;
    gap: 16px;
    text-align: center
}
.apply-guide-wrap .question-area .title::before,
.apply-guide-wrap .question-area .title::after {
    content: '';
    flex: 1;
    border-top: 1px solid var(--color-gray-border);
}
.apply-guide-wrap .quick-links {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-bottom: 64px;
}
.apply-guide-wrap .quick-links-item {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px 32px;
    border: 1px solid var(--color-gray-border);
    border-radius: 16px;
    text-decoration: none;
    background: var(--color-white);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.apply-guide-wrap .quick-links-desc {
    margin: 0;
    line-height: 1.6;
}
.apply-guide-wrap .quick-links-label {
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 600;
    color: var(--color-blue-primary);
    display: flex;
    align-items: center;
    gap: clamp(6px, 2vw, 10px);
}
.apply-guide-wrap .quick-links-arrow {
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 600;
    color: var(--color-blue-primary);
}
@media (max-width: 1048px) {
    .apply-guide-wrap .type-box {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
    .apply-guide-wrap .card-group {
        flex-wrap: wrap;
    }
}
@media (max-width: 768px) {
    .apply-guide-wrap .step-box .card-btn-area {
        flex-direction: column;
    }
}
@media (max-width: 560px) {
    .apply-guide-wrap .type-box {
        grid-template-columns: 1fr;
    }
    .apply-guide-wrap .quick-links {
        grid-template-columns: 1fr;
    }
    .apply-guide-wrap .card-group {
        flex-direction: column;
    }
    .apply-guide-wrap .refund-group .arrow {
        transform: rotate(90deg);
    }
}
.apply-guide-wrap .condition-title {
    font-size: clamp(20px, 2vw, 24px);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    white-space: nowrap;
}
.apply-guide-wrap .notice-list + .notice-head {
    margin-top: clamp(18px, 2vw, 24px);
}
.apply-guide-wrap .card-sub-title {
    font-size: clamp(16px, 2vw, 18px);
    font-weight: 500;
    margin-bottom: clamp(12px, 2vw, 16px);
}
.apply-guide-wrap .refund-group {
    gap: 8px;
}
.apply-guide-wrap .refund-group .card-box{
    display: flex;
    align-items: center;
    justify-content: center;
}
.apply-guide-wrap .refund-group .refund-title {
    font-weight: 600;
    font-size: clamp(20px, 2vw, 24px);
    margin-bottom: clamp(20px, 2vw, 24px);
}
@media (max-width: 780px) {
    .apply-guide-wrap .refund-table td{
        text-align: left;
    }
}

.modal-checklist {
    display: flex;
    flex-flow: column;
    align-items: center;
    padding:40px;
    gap: 20px;
    background: var(--color-pink-bg);
}
.modal-checklist .checklist-title {
    font-size: 1.3em;
    font-weight: 700;
    color: var(--color-pink);
    display: flex;
    gap: 10px;
    align-items: center;
}
.modal-checklist .checklist-title::before {
    content: "";
    background: url("../img/contents/ico_info_red.png") no-repeat center center;
    background-size: cover;
    width: 33px;
    height: 33px;
    display: inline-block;
}
.modal-checklist .checklist {
    padding:30px;
    background: var(--color-white);
    border-radius: 20px;
    width: 100%;
}
.modal-checklist .checklist li {
    position: relative;
    font-size: 1.1em;
    padding: 10px 0 10px 33px;
    border-bottom:1px solid var(--color-accordion-border);
}
.modal-checklist .checklist li::before {
    position: absolute;
    left: 0;
    top: 5px;
    content: "";
    background: url("../img/contents/ico_check_blue.png") no-repeat center center;
    width: 28px;
    height: 28px;
    display: inline-block;
    margin-right:5px;
}
.modal-checklist .checklist li strong {
    font-weight: 700;
    padding: 0;
    color: var(--color-blue-primary);
}
.modal-checklist .checklist li .btn {
    display: inline-flex;
    padding: 5px 15px;
    border-radius: 50px;
    border: 1px solid var(--color-blue-primary);
    font-size: 0.9em;
    line-height: 1em;
    margin-top: 5px;
    color: var(--color-gray-mid);
    align-items: center;
}
.modal-checklist .checklist li .btn::after {
    content: "";
    display: inline-block;
    background: url("../img/icon_arrow_up_right_gray.png") no-repeat center;
    width: 20px;
    height: 20px;
    margin-left:5px;
}
@media (max-width: 768px) {
    .modal-checklist {
        padding: 10px;
        gap: 10px;
    }
    .modal-checklist .checklist {
        padding: 10px;
    }
    .modal-checklist .checklist li {
        font-size: 1em;
    }
}

.major-tourist {
    display: flex;
    flex-flow: column;
    gap: 40px;
}
.major-tourist .item {
    display: flex;
    gap: 40px;
}
.major-tourist .item .item-img {
    flex: 0 0 360px;
}
.major-tourist .item .item-con {
    border-top: 2px solid var(--color-black);
    padding:20px 0;
    display: flex;
    flex-flow: column;
    gap: 10px;
}
.major-tourist .item .item-con .title {
    display: flex;
    font-size: 1.5em;
    font-weight: 700;
}
.major-tourist .item .item-con .title span {
    flex: 0 0 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width:30px;
    height: 30px;
    background: var(--color-blue-primary);
    color: var(--color-white);
    font-weight: 600;
    margin-right: 10px;
    font-size: 0.6em;
    border-radius: 50%;
    line-height: 1;
}
.major-tourist .item .item-con .address {
    display: flex;
    padding: 5px 0;
    align-items: center;
    gap: 5px;
    border-top: 1px solid var(--color-gray-border);
    border-bottom: 1px solid var(--color-gray-border);
}
.major-tourist .item .item-con .address::before {
    content: "";
    display: inline-block;
    background: url("../img/contents/ico_address2.png") no-repeat center;
    width: 30px;
    height: 25px;
}
.major-tourist .item .item-con .desc {
    word-break: keep-all;
}

@media (max-width: 1024px) {
    .major-tourist .item {
        gap: 20px;
    }
    .major-tourist .item .item-img {
        flex: 0 0 300px;
    }
}
@media (max-width: 768px) {
    .major-tourist .item {
        flex-flow: column;
    }
    .major-tourist .item .item-con {
        border-top: none;
        padding: 0;
    }
    .major-tourist .item .item-img {
        flex: 0 0 auto;
    }
}

.save-block {
    display: flex;
    gap: 20px;
    padding: 32px;
    background: var(--color-gray-card-bg);
    align-items: center;
    justify-content: center;
}
@media (max-width: 630px) {
    .save-block {
        padding: 20px;
    }
}

/* halftrip-plugin */
.halftrip-plugin [hidden] { display: none !important; }
.halftrip-plugin .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.halftrip-plugin fieldset { min-width: 0; }
.halftrip-plugin .agree-box > legend { display: block; }
.halftrip-plugin .table { overflow-x: auto; }
.halftrip-plugin .table .field-area { margin-bottom: 0; }
.halftrip-plugin .table th[scope="row"] { width: 28%; }
.halftrip-plugin .apply-card-code, .halftrip-plugin .apply-card__date-value { overflow-wrap: anywhere; }
.halftrip-plugin :is(input, select, button, a):focus-visible { outline: 2px solid var(--color-blue-primary); outline-offset: 3px; }
.halftrip-plugin :is(.checkbox-label, .radio-label):has(:focus-visible) { outline: 2px solid var(--color-blue-primary); outline-offset: 3px; }
