@charset "UTF-8";
/* ====================================
   ✅ 공통 속성
==================================== */
* {-webkit-tap-highlight-color: transparent;}
.txt-ellipsis {overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.txt-ellipsis.line-2 {display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; max-height: 4.4rem; white-space: normal;}
.heading-sm-sb.txt-ellipsis.line-2 {max-height: 5.2rem;}
.txt-ellipsis.line-4 {display: -webkit-box; -webkit-line-clamp: 4; line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; max-height: 8.8rem; white-space: normal;}
.heading-sm-sb.txt-ellipsis.line-4 {max-height: 10.4rem;}
.txt-al-center {text-align: center;} 
.flex-col{display: flex; flex-direction: column;}
.flex-row{display: flex; flex-direction: row; align-items: center;}
.ico-bar{display: inline-block; width: 1px; height: 1rem; background-color: #D1D5DC; margin: 0 0.4rem;}

.ic-arrow-right{background: url('../../images/common/ic_arrow_right.svg') no-repeat;}
.ic-arrow-left{background: url('../../images/common/ic_arrow_left.svg') no-repeat;}
.ic-arrow-right-w16-primary{width: 16px; height: 16px; background-position: -148px 0;}
.ic-arrow-right-w16-tertiary{width: 16px; height: 16px; background-position: -148px -48px;}
.ic-arrow-right-w24-b2-primary{width: 24px; height: 24px; background-position: 0 0;}
.ic-arrow-right-w24-b2-white{width: 24px; height: 24px; background-position: 0 -96px;}
.ic-arrow-left-w16-primary{width: 16px; height: 16px; background-position: -148px 0;}
.ic-arrow-left-w16-tertiary{width: 16px; height: 16px; background-position: -148px -48px;}
.ic-arrow-left-w24-b2-primary{width: 24px; height: 24px; background-position: 0 0;}
.ic-arrow-left-w24-b2-white{width: 24px; height: 24px; background-position: 0 -96px;}
.ico-bar{display: inline-block; width: 1px; height: 1rem; background-color: #D1D5DC; margin: 0 0.4rem;}
.arrow-right-btn{display: flex; align-items: center; justify-content: center; width: 2.8rem; height: 2.8rem; background: none; border: none; padding: 0; margin: 0;}
.arrow-right-btn [class*="ic-"]{display: block;}

time + time:before {content:'-'; display: inline-block; margin: 0 0.3rem 0 0;} 
.bullet-list + .bullet-list{margin-top: 1.2rem;}
.bullet-list dd{position: relative; padding-left: 1rem;}
.bullet-list dd:before{content: "·"; position: absolute; left: 0; top: 0; color: #364153; }
.section-cont.pd-t-16 {padding-top: 1.6rem;}

/* ====================================
   ✅ CHECKBOX
==================================== */
.checkbox-ty1,
.checkbox-low,
.radio-ty1 {display: inline-flex; cursor: pointer; --size: 1.6rem; align-items: center;}
.checkbox-ty1.line-2,
.checkbox-low.line-2,
.radio-ty1.line-2 {align-items: flex-start;}
.checkbox-ty1 input,
.checkbox-low input,
.radio-ty1 input,
.toggle-ty1 input {display: none;}
.checkbox-box,
.checkbox-low-box,
.radio-box {display: inline-block; width: var(--size); height: var(--size); margin-right:.4rem; background-size: contain; background-repeat: no-repeat; background-position: center; transition: background-image 0.15s;}
.checkbox-box {background-image: url('../../../images/common/check_off.svg');}
.checkbox-ty1 input:checked + .checkbox-box {background-image: url('../../../images/common/check_on.svg');}
.checkbox-low-box {background-image: url('../../../images/common/check_low_off.svg');}
.checkbox-low input:checked + .checkbox-low-box {background-image: url('../../../images/common/check_low_on.svg');}
.radio-box {border-radius: 50%; background-image: url('../../../images/common/radio_off_ou.svg'); margin-right: 0.8rem;}
.radio-ty1{flex: 1; align-items: center;}
.radio-ty1 input:checked + .radio-box {background-image: url('../../../images/common/radio_on_ou.svg');}
.radio-ty1:has(input:disabled),
.checkbox-ty1:has(input:disabled) .checkbox-box,
.checkbox-low:has(input:disabled) {opacity: 0.5; pointer-events: none; cursor: not-allowed;}
.radio-ty1.disabled,
.checkbox-ty1.disabled,
.checkbox-low.disabled {opacity: 0.5; pointer-events: none; cursor: not-allowed;}
.checkbox-ty1-group.disabled {opacity: 0.5; pointer-events: none; cursor: not-allowed;}

.toggle-ty1 {
  --toggle-width: 4.4rem; 
  --toggle-height: 2.4rem; 
  --toggle-padding: 0.2rem; 
  --toggle-bg-on: var(--sky-500); 
  --toggle-bg-off: var(--gray-300); 
  --toggle-handle-size: 2.0rem; 
  --toggle-transition: 0.2s cubic-bezier(.5,1,.89,1); 
  width: 100%;
  display: flex; 
  justify-content: space-between;
  align-items: center; 
  cursor: pointer; 
  user-select: none;
}
.checkbox-ty1-group{display: flex; flex-direction: column; gap: 0.8rem;}
.checkbox-ty1-group .line-2 .checkbox-box{margin-top: 0.4rem;}
.checkbox-ty1-group .checkbox-ty1 em{flex: 1; line-height: 160%;}
.toggle-group {display: flex; align-items: center; justify-content: space-between; gap: 0 .8rem; padding: 1.2rem 1.6rem;}
.toggle-switch {position: relative; width: var(--toggle-width); height: var(--toggle-height); border-radius: calc(var(--toggle-height) / 2); background: var(--toggle-bg-off); transition: background-color var(--toggle-transition); display: flex; align-items: center;box-sizing: border-box;}    
.toggle-ty1 input:checked + .toggle-switch {background: var(--toggle-bg-on);}
.toggle-ty1.disabled .toggle-switch{background: var(--toggle-bg-off); opacity: 0.5; cursor: not-allowed;}
.toggle-ty1 input:disabled + .toggle-switch{opacity: 0.5; cursor: not-allowed;}
.toggle-handle {position: absolute; left: var(--toggle-padding); top: var(--toggle-padding); width: var(--toggle-handle-size); height: var(--toggle-handle-size); border-radius: 50%; background: #fff; box-shadow: 0 0 0 2px rgba(150,160,180,0.06); display: flex; align-items: center; justify-content: center; transition: left var(--toggle-transition), background-color var(--toggle-transition); font-size: 1.5rem;}
.toggle-ty1 input:checked + .toggle-switch .toggle-handle {left: calc(var(--toggle-width) - var(--toggle-handle-size) - var(--toggle-padding));}
.toggle-handle svg {width: 1rem; height: 1rem; display: block;}
.toggle-ty1 input:not(:checked) + .toggle-switch .icon-check,
.toggle-ty1 input:checked + .toggle-switch .icon-x {display: none;}
.toggle-ty1 input:checked + .toggle-switch .icon-check,
.toggle-ty1 input:not(:checked) + .toggle-switch .icon-x {display: flex; align-items: center;}
.toggle:not(.low) input:checked + .toggle-switch .icon-check {color: #32b7f4;}
.toggle.low input:checked + .toggle-switch .icon-check {color: #90d2f7;}
.toggle-ty1 input:not(:checked) + .toggle-switch .icon-x {color: #adb1b6;}
.toggle.disabled .toggle-switch,
.toggle-ty1 input:disabled + .toggle-switch {opacity: 0.5; pointer-events: none;}
.toggle.disabled .toggle-handle,
.toggle-ty1 input:disabled + .toggle-switch .toggle-handle {background: #f7f8fa;}
.toggle.disabled .icon-check,
.toggle.disabled .icon-x,
.toggle-ty1 input:disabled + .toggle-switch .icon-check,
.toggle-ty1 input:disabled + .toggle-switch .icon-x {color: #d1d4d9 !important;}
/* ====================================
   ✅ seperater
==================================== */

.seperator-dot {display:inline-block;width:.2rem; height: .2rem; border-radius: var(--radius-full); margin-right:var(--spacing-0-5);}
.seperator-set {display: flex; align-items: center;}

/* ====================================
   ✅ toast
==================================== */

.toast-box { opacity: 0; position: fixed; left: 50%;  bottom:0; display: flex; padding: var(--spacing-12) var(--spacing-16); flex-direction: column; justify-content: center; align-items: flex-start; gap: .2rem; border-radius:var(--radius-8); box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.16); backdrop-filter: blur(.2rem); z-index: -999; pointer-events: none;/* 기본 상태: 위(-3rem), opacity 0 */transform: translateX(-50%) translateY(-3rem); /* out: 0.3s 동안 opacity 1 → 0, -3rem 방향으로 복귀 */transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out, bottom 0.3s ease-in-out;}
.toast-box.showing {/* in: duration 0.5s, opacity 0 → 1, Y -3rem → 0 */opacity: 1; z-index: 10050; pointer-events: all; transform: translateX(-50%) translateY(0); transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out,  bottom 0.5s ease-in-out;}
.toast-box p{width: 100%; text-align: center; white-space: nowrap;;}
/* 현금영수증 토스트 */
[data-toast-id="cash-receipt-issue-ok"]{max-width: 19.7rem; margin: auto;}
/* ====================================
   ✅ tooltip
==================================== */

.info-tooltip-box {display: none;position: absolute;bottom: 2.4rem;left: 0; width:max-content; padding: .4rem .8rem !important; max-width:25.5rem; border-radius: var(--radius-4); padding: var(--spacing-1) var(--spacing-2);box-shadow: 0 .4rem 1rem 0 rgba(0, 0, 0, 0.16);backdrop-filter: blur(.2rem);z-index: 20;}
.info-tooltip-box.rgt {left:auto; right:0}
.info-tooltip-box.center {left:50%; transform: translateX(-50%);}
.info-tooltip-btn-name{padding-left: var(--spacing-1);}
.info-tooltip-wrapper {display: inline-block;position: relative;vertical-align: -.2rem;}
.info-tooltip-wrapper .info-tooltip-btn {display:flex; align-items: center; padding:0 var(--spacing-1) 0 var(--spacing-1); height: 2.8rem;  border-radius: var(--radius-4);}
.info-tooltip-icon {display: flex;justify-content: center;align-items: center;cursor: pointer;width: 2rem;height: 2rem;vertical-align: middle;transition: filter 0.15s; border-radius: var(--radius-4);}
.info-tooltip-txt {min-width: 12rem;}
.info-tooltip-icon img { width: 1.2rem; height: 1.2rem;}
.info-tooltip-close { display: flex; align-items: flex-start; justify-content: center; flex-shrink: 0; width: 1.6rem; padding-top: var(--spacing-4)}
.info-tooltip-arrow-close { position: relative; cursor: pointer; width: 1.2rem; height: 1.2rem;}
/* ====================================
   ✅ Badge
==================================== */
.n-badge { display: inline-flex; align-items: center; justify-content: center; border-radius: var(--radius-4); padding: .4rem; min-width: 3.2rem; height: 2rem;}
.n-badge.r-type {border-radius: 10rem;}

/* 상태 뱃지 */
.icon-txt-gray{background-color: var(--gray-100); color: var(--gray-700); border:1px solid var(--gray-100);}
.icon-txt-light-gray{background-color: var(--gray-100); color:var(--gray-400); }
.icon-txt-red{background-color: var(--red-100); color:var(--red-500); border:1px solid var(--red-100);}
.icon-txt-orange{background-color: var(--orange-100); color:var(--orange-500); border:1px solid var(--orange-100);}
.icon-txt-green{background-color: var(--green-100); color:var(--green-700); border:1px solid var(--green-100);}
.icon-txt-blue{background-color: var(--sky-500); color: var(--white); border:1px solid var(--sky-500);}
.icon-txt-black{background-color: var(--gray-900); color: var(--white); border:1px solid var(--gray-900);}

.icon-txt-ico{min-width: 3.2rem; border: 1px solid #E5E7EB; color:#101828; gap: 0.2rem;}
.icon-txt-ico > i{display: inline-block; width: 1.2rem; height: 1.2rem; font-size: 0; vertical-align: super; margin-right: 0.2rem;}
.icon-txt-ico > i.notice{ background: url('../../images/common/ic_booking_notice.svg') center center no-repeat; background-size: 100% 100%;}
.icon-txt-ico > i.done{background: url('../../images/common/ic_booking_done.svg') center center no-repeat; background-size: 100% 100%;}
.icon-txt-ico > i.progress{background: url('../../images/common/ic_booking_progress.svg') center center no-repeat; background-size: 100% 100%;}
.icon-txt-ico > i.progress_cri{background: url('../../images/common/ic_booking_progress_cri.svg') center center no-repeat; background-size: 100% 100%;}
.badge-box.flex-row {flex-wrap: wrap;}

/* ====================================
   ✅ helpbox
==================================== */
.help-box .help-box-inner {padding:1.2rem; border-radius: var(--radius-4);}
.help-box .help-box-list {margin-top: .4rem;}
.help-box .help-box-list-outer {display: flex;
flex-direction: column; height: 12rem; max-height: 12rem;  overflow: hidden; box-sizing: border-box;}
.help-box .help-box-list-outer:not(.is-expanded) .help-box-list { flex: 1 1 auto; min-height: 0; overflow: hidden;}
.help-box .help-box-list-outer.is-expanded { display: block; height: auto; max-height: none; overflow: visible;}
.help-box .help-box-list-outer.is-expanded .help-box-list { overflow: visible; }
.help-box .help-box-more-btn {position:relative;flex-shrink: 0;width: 100%;margin: 0;border: none;}
.help-box .help-box-more-btn:after {content: '';position: absolute;top: -100%; left: 0; width: 100%; height: 2.3rem; background: linear-gradient(180deg, rgba(245, 245, 245, 0.00) 0%, rgba(245, 245, 245, 0.84) 57.21%, #F5F5F5 100%);}
.help-box .help-box-more-btn.bg-critic-subtle:after {background: linear-gradient(180deg, rgba(254, 242, 242, 0.00) 0%, rgba(254, 242, 242, 0.84) 57.21%, #FEF2F2 100%);}
.help-box .help-box-more-btn-txt {position:relative; display:flex; align-items: center; justify-content: center; width: 100%;}
.help-box .help-box-more-btn-txt:after {content:''; width:1.2rem; height:1.2rem; background-image: url('../../images/common/ic_arrow_down.svg'); background-position: 100% 0;}
.help-box .help-box-list > li { position:relative; padding-left:1.2rem;}
.help-box .help-box-list > li:only-child {padding-left: 0;}
.help-box .help-box-list > li:after {position: absolute;top: .8rem; left:0; width: .2rem; height:.2rem; background-color:var(--gray-500); border-radius: 50%; content: '';}
.help-box .help-box-list > li:only-child::after {display: none;}
.help-box .help-box-txt {margin-top:var(--spacing-4);}
.help-box [class*='ico-help-box']{display:inline-block; width:1.8rem; height:1.8rem; vertical-align: middle;}
.help-box .ico-help-box-red {background: url('../../images/common/ic_import_rd5_fi.svg') no-repeat 0 0/100%}
.help-box [class*='heading-'] {display: flex; align-items: center; gap: 0.4rem;}
.banner-branded {display:flex; border-radius: var(--radius-4); padding: .8rem 1.2rem}
.banner-branded.bg-npay{margin-top: 1.6rem;}
.banner-branded .banner-branded-txt {margin-left:.8rem;}
/* ====================================
   ✅ Button
==================================== */
.btn-base {position:relative; display: flex; align-items: center; justify-content: center;  min-width:5.6rem; border-radius: .8rem; box-sizing: border-box;}
.btn-base .btn-txt {white-space: nowrap;pointer-events: none;}
[class*='btn-size-'] svg {width:1.6rem; height: 1.6rem; stroke-width: 0.15rem;}
[class*='btn-size-'] .ico_set {padding-left:var(--spacing-1)}
[class*='btn-size-'] .lft-arrow {transform: rotate(180deg);}
.btn-size-lg svg {width:2rem; height:2rem;}
.btn-size-xs {height:2.8rem; padding:0 .8rem;}
.btn-size-sm {height:3.2rem; padding:0 1rem;}
.btn-size-md {height:4rem; padding:0 1.2rem;}
.btn-size-lg {height:4.8rem; padding:0 2.7rem;}
.btn-base.bg-btn-primary-low .ico_set{color: var(--sky-500);;}
.btn-base.bg-btn-primary .ico_set,
.btn-base.bg-btn-primary_hover .ico_set,
.btn-base.bg-btn-primary .ico_set,
.btn-base.bg-btn-primary .ico_set{color: var(--white);;}
.btn-base.bg-btn-secondary-low .ico_set{color: var(--gray-500);;}
.btn-base.bg-btn-transparant .ico_set{color: var(--gray-700);;}
.btn-base:disabled {background-color: var(--gray-300)!important; pointer-events: none;}
.btn-base:disabled .btn-txt{color: var(--white)!important;}
.btn-base:disabled .ico_set{color: var(--white)!important;}
/* .btn-base:hover {background-color: var(--sky-700)!important; }
.btn-base:hover .btn-txt{color: var(--white)!important;}
.btn-base:hover .ico_set{color: var(--white)!important;} */
.btn-base.btn-text-type:hover{background-color:var(--neutral-100)!important ;}
.btn-base .ico_set.c-tertiary {color: var(--gray-500);;}
.btn-base.btn-text-type:hover .ico_set.c-tertiary {color: var(--gray-500)!important;}
.btn-base.btn-icon-type{ min-width:auto; width:2.8rem; height:2.8rem; padding:0;}
.btn-base.btn-icon-type .ico_set {padding-left:0;}
.btn-group {padding:1.6rem 1.6rem 2.4rem; display: flex;box-sizing: border-box;}
.btn-group.full-type {width:100%;}
.btn-group.full-type > button {width: 100%;}
.btn-group.full-type > a {width: 100%;}
.btn-group.menu-type {display: flex; justify-content: space-between; gap: 0 .8rem;}
.btn-group.menu-type .menu-unit-l button {height:2.4rem; padding-right:1.6rem;  background: url('../img/ic_arrow_right_ou_16_insur.svg') no-repeat right center; }
.btn-group.right-type .menu-unit-r {flex:1;}
.btn-group.right-type .menu-unit-r button {width: 100%;}
.btn-group.right-type .menu-unit-r a {width: 100%;}
.btn-group.left-type .menu-unit-l {flex:1;}
.btn-group.left-type .menu-unit-l button {width: 100%;}
.btn-group.left-type .menu-unit-l a {width: 100%;}
.btn-group.left-type,
.btn-group.right-type {display: flex; justify-content: space-between; gap: 0 .8rem;}
.btn-group.menu-type .menu-unit-r button {width: 16rem;}
.btn-group.menu-type .menu-unit-r a {width: 16rem;}
.btn-group.menu-type .menu-unit-l {display: flex; flex-direction: column;flex-wrap: wrap; flex: 1; align-content: baseline; align-items: baseline;}
.btn-benefit-down{border:1px solid var(--coral-100); gap: 0.4rem;}
.btn-benefit-down > i{width: 1.6rem; height: 1.6rem; background: url('../../images/common/ic_download_cl5_ou.svg') no-repeat;}
button[data-popup-close]:not(.btn-base[data-popup-close]),
.passenger-layer-close{width: 24px; height: 24px; font-size: 0; position: absolute; right: 1.6rem; top: 50%; transform: translate(0, -50%); background: url('../../../images/common/ic_cancel.svg') no-repeat;}
.layer-in-btn{padding: 1.6rem 0;}
.btn-group-row{gap:0.4rem}
.btn-group-row button{flex: 1;}
.photo-upload-box{display: flex; padding: 1.2rem; gap: 0.8rem; border-radius: 0.8rem; margin-top: 0.4rem; align-items: center;}
.photo-upload-box .thum{width: 4rem; height: 4rem; background-color: #E5E5E5; border-radius: 0.4rem;}
.photo-upload-box .desc{display: flex; flex-direction: column; gap: 0.6rem;}
.upload-btn-group{display: flex; align-items: center; justify-content: space-between; gap: 0.8rem;}
.upload-btn {padding: 1.3rem 0;  width: 50%; border: 1px solid #E5E7EB; border-radius: 0.8rem; background: #fff; cursor: pointer; }
.upload-btn span{display: flex; gap: 0.4rem; align-items: center; justify-content: center;}
 

/* ====================================
   ✅ Header
==================================== */
.n-header {position:fixed; top:0; left:0; right:0;display:flex; align-items:center; padding: 1.6rem 2rem; border-bottom: 1px solid var(--gray-200);  background-color: var(--white); z-index: 10;}
.n-header-logo {height: 2.4rem;}
.n-header-logo img{width:100%; height: 100%;}
.n-header-logo {width:16.4rem;}
.n-header-logo img{width:100%}  
/* ====================================
   ✅ Header Card
==================================== */
.header-card{display: flex; justify-content: space-between; align-items: center; padding:1.55rem 1.6rem}
/* .click-type: 카드 전체를 arrow 버튼 터치영역으로 (HTML 변경 없이) */
.click-type .header-card{position: relative;}
.click-type .header-card .arrow-right-btn{position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-end; padding-right: 1.6rem;}
.click-type .header-card-txt{position: relative; z-index: 0;}
.header-list {height:2.8rem; display: flex; align-items: center;}
/* ====================================
   ✅ Header Popup
==================================== */
.layer-first-title{position:relative;display: flex; justify-content: space-between; padding: 1.6rem 1.6rem 1.2rem; height: 5.6rem;}
.layer-first-title + .layer-guide-text{padding: 0 1.6rem 1.2rem;}
.layer-first-title button .ico_set {color: var(--gray-900);}
.layer-first-title h1{text-align: center; flex: 1;}
/* ====================================
   ✅ Heading
==================================== */
.heading-card {display: flex; justify-content: space-between; align-items: center; }
/* ====================================
   ✅ Menu
==================================== */
[class*=tab-type-btn] button{ border-radius: 10rem; background-color: var(--white);}
.tab-type-btn button + button { margin-left: .8rem}
[class*=tab-type-btn] .active{ background-color: var(--gray-900); color: var(--white); border:none;} 
.tab-type-btn.white-type .active {background-color: var(--gray-100); color: var(--gray-900); border: 1px solid var(--gray-900);}
.scroll-pill-tab {padding: 0.4rem 0 0.4rem 1.6rem; background-color: var(--white, #fff); overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none;}
.scroll-pill-tab::-webkit-scrollbar {display: none;}
.scroll-pill-tab.sticky-type {position: sticky; position: -webkit-sticky; top: var(--scroll-pill-tab-sticky-top, 0); z-index: var(--scroll-pill-tab-sticky-z, 390);}
.scroll-pill-tab-inner {display: flex; gap: 0.8rem; width: max-content; padding-right: 1.6rem;}
.scroll-pill-tab button {flex-shrink: 0; padding: 0.9rem 1.2rem; border: none; border-radius: 100px; background-color: var(--gray-100, #f3f4f6); cursor: pointer; white-space: nowrap;}
.scroll-pill-tab button.active {background-color: var(--gray-900); color: var(--white, #fff); font-weight: 600;}
.tab-type-bd { position: relative; display:flex; flex-shrink: 0; height:4.2rem; padding-left: 1.6rem; overflow-x: scroll;border-bottom: 1px solid var(--gray-200); border-radius: 0!important;}
.tab-type-bd::-webkit-scrollbar {display: none;}
.tab-type-bd button {flex-shrink:0;padding: 1rem .8rem;border: none;background: none;cursor: pointer;transition: color 0.3s; color: var(--gray-500);}
.tab-type-bd button.active {color: var(--gray-900); font-weight: var(--font-weight-bold)}
/* 움직이는 하단 바 */
.tab-type-bd .tab-line {position: absolute;bottom: 0;left: 0;height: .2rem;background-color: var(--gray-900); transition: width 0.3s ease, transform 0.3s ease; /* 초기화 */width: var(--width, 0px);transform: translateX(var(--left, 0px));pointer-events: none; /* 선이 버튼 클릭을 방해하지 않도록 */}
.option-selection { display:grid; grid-template-columns: repeat(2, 1fr); margin-bottom: 1.2rem; gap:.8rem;}
.option-selection .option-selection-itm {position:relative; height: 5.6rem; border-radius: .8rem; border:1px solid var(--gray-300);}
.option-selection .option-selection-itm.active { border:1.5px solid var(--gray-900); color:var(--gray-900); background-color: var(--gray-50);}
.option-selection .option-selection-itm.active > .label-sm-m {font-weight: var(--font-weight-semi-bold);} 
.option-selection .option-selection-itm.active > .text-tertiary {color: var(--gray-900);}
.option-selection .option-selection-itm.benefit-flag {overflow: hidden;}
.option-selection .option-selection-itm.benefit-flag:before{content:'혜택'; position:absolute; top:0; left:0; width:4rem; height:2rem; display: flex; justify-content: center; align-items:center; padding:.6rem .4rem; color: var(--white); background-color: var(--red-500); border-radius: 0 0 .8rem 0; box-sizing: border-box; font-size: 1.2rem; font-family: var(--font-family);font-weight: var(--font-weight-bold, 700);}
.option-selection .selection-txt {display: flex; align-items: center; justify-content: center;}
.option-selection .selection-logo {width: auto; margin-right: .4rem;}
.option-selection .selection-logo.type-toss {height:2.4rem;}
.option-selection .selection-logo.type-naver {height:2rem;}
.option-selection .selection-logo.type-kakao {height:2rem;}
.option-selection .selection-logo.type-tosspay {height:2rem;}
.option-selection.type-2 .option-selection-itm { height:6.4rem; border-radius: .8rem;}
.option-selection.type-2 .option-selection-itm.active { border-width:1.5px;}
/* ====================================
   ✅ input
==================================== */
.input-elem-btn{display:flex; align-items:center; justify-content: center; height:4.4rem; padding: 1rem .8rem; border-radius: .4rem; }
.input-elem-btn > span {padding:0 .95rem;}
.input-basic {position: relative; display: flex;
  align-items: center; height:4.4rem; padding: 1rem 1.6rem; border-radius: .4rem; background-color: var(--white); overflow: hidden;}
.input-basic input[type="text"],
.input-basic input[type="password"],
.input-basic input[type="number"],
.input-basic input[type="email"],
.input-basic input[type="tel"],
.input-basic input[type="url"]  { box-sizing: border-box; border: none; outline: none; background: none; padding: 0; margin: 0;width: 100%; color: var(--gray-800);}
.input-basic input[type="text"]::placeholder,
.input-basic input[type="password"]::placeholder,
.input-basic input[type="number"]::placeholder,
.input-basic input[type="email"]::placeholder,
.input-basic input[type="tel"]::placeholder,
.input-basic input[type="url"]::placeholder {
   color: var(--gray-400);} 
.input-basic input[type="number"]::-webkit-outer-spin-button,
.input-basic input[type="number"]::-webkit-inner-spin-button,
.input-basic input[type="tel"]::-webkit-outer-spin-button,
.input-basic input[type="tel"]::-webkit-inner-spin-button {-webkit-appearance: none;margin: 0;}
.input-basic input[type="number"],
.input-basic input[type="tel"] { -moz-appearance: textfield;}
.input-basic input[type="text"]:disabled,
.input-basic input[type="password"]:disabled,  
.input-basic input[type="number"]:disabled,  
.input-basic input[type="email"]:disabled,
.input-basic input[type="tel"]:disabled,
.input-basic input[type="url"]:disabled,  
.input-basic.input-basic-slt.disabled {background-color: var(--gray-100); color: var(--gray-500); -webkit-appearance: none; -webkit-text-fill-color: var(--gray-500);opacity: 1; pointer-events: none;}
.bg-btn-secondary.disabled{background-color: var(--gray-300); color: var(--white); -webkit-appearance: none; -webkit-text-fill-color: var(--white);opacity: 1;}
.input-elem-box .input-elem-label{display:inline-block;}
.input-basic .input-reset-btn {width: 2.4rem; height:2.4rem;}
.input-textarea {width:100%; height:11.6rem; padding: 1rem 1.6rem; border-radius: .4rem;}
.input-textarea textarea{box-sizing: border-box; width: 100%; height: 100%;resize: none;   border: none; outline: none; resize: none; color: var(--gray-800);} 
.input-textarea textarea::placeholder {color: var(--gray-400);}
.password-marking-char {display: flex; align-items: center; flex: 0; align-self: center;}.input-elem-btn{display:flex; align-items:center; justify-content: center; height:4.4rem; padding: 1rem .8rem; border-radius: .4rem;  font-family:var(--font-family)!important;}
.input-grid.btn-set{ grid-template-columns: 1fr auto;gap: .8rem;}
.input-grid.btn-set-type-2{ grid-template-columns:auto;gap: .8rem;}
.input-grid.half-set{    grid-template-columns: repeat(2, 1fr); gap: .8rem;}
[class*='input-col']{display: flex; gap: .8rem; margin-top: .4rem; align-items: center;}
.input-col-2 > *{flex:1;}
.input-col-2 {align-items: flex-start; gap:1.2rem}
.input-col [class*='radio-ty'],
.input-col [class*='checkbox-ty']{height: 4.4rem;}
.input-col .w120 {width: 12rem;}
.input-grid { display: grid;}
[class*='input-grid']{gap: .8rem;} /* margin: .8rem 0; */
.input-grid.grid-1-2,
.input-grid.grid-2-2{grid-template-columns: repeat(2, 1fr);gap:1.2rem;}
.input-grid.grid-2-2 .input-elem-box + .input-elem-box{margin-top: 0;}
.input-grid.grid-1-2 > .input-elem-box:first-child {grid-column: 1 / -1;}
.input-grid.grid-2-2 > .input-elem-box:first-child {grid-column: auto;}
.input-elem-label + .input-basic {margin-top:.4rem;}
.input-elem-label + .input-grid {margin-top:.4rem;}
.input-elem-help {margin-top: .4rem;}
/* ====================================
   ✅ select
==================================== */
.input-basic select { width: 100%; height: 100%; border: none; color: var(--gray-800); padding:1rem 1.6rem;}
.input-basic.input-basic-slt {padding: 0; overflow: visible;}
.slt-slted {display: flex;align-items: center;width:100%;height: 100%;padding: 1rem 1.6rem;box-sizing:border-box;}
.slt-list {display: none;position: absolute;top: calc(100% + 1rem);background: var(--white);left: -0.1rem ;right:-0.1rem;border-radius: .4rem;;z-index: 10;max-height: 26rem;overflow-y: auto;}
.slt-list > li .slt-option {position: relative;display: flex;align-items: center;padding:1.2rem 1.6rem}
.slt-list > li {height: 4rem;}
.slt-list .slt-option:hover {background-color: var(--sky-50);}
.slt-list .slt-option.selected::after {position:absolute;right:1.6rem;top:50%;transform: translateY(-50%);width: 1.6rem;height: 1.6rem;content: '';background: url('../../images/common/check_low_on.svg');}
.slt-list .slt-option.selected{ font-family: var(--font-family); font-weight: var(--font-weight-bold); font-size: var(--font-size-sm); line-height: var(--line-height-100); color: var(--gray-800);}
.open .slt-list {display: block;}
.slt-icon {position: absolute;top:1.2rem;right:1.6rem; width: 2rem; height: 2rem; background-image: url('../../images/common/ic_arrow_down.svg'); background-position:-92px -25px;}
.disabled .slt-icon {background-position: -92px -72px;}
.disabled.slt-slted {background: var(--gray-100);}
.disabled.slt-slted .text-placeholder{color: var(--gray-500);}
.open .slt-icon {transform: rotate(-180deg);}
.input-basic.input-basic-slt.disabled .slt-placeholder{color: var(--gray-500);}
/* ====================================
   ✅ List
==================================== */
.payment-wrap{display: flex; flex-direction: column; gap: 0.8rem;}
.payment-list {display: flex; flex-direction: column;}
.payment-item {display: flex; justify-content: space-between; align-items: center; padding:.2rem 0 .2rem;}
.payment-list.big-type .payment-item { height:2.6rem}
.payment-list.border-type{position: relative;}
.payment-list.border-type{ margin-top: .8rem; padding-left:.8rem; border-left:.4rem solid var(--gray-200)}
.payment-item.sub-type {align-items: flex-start}
.payment-item .payment-value-wrap {display: flex; flex-wrap: wrap; }
.payment-item .payment-value-wrap > * {width: 100%;text-align: right;}
.payment-item .payment-label {flex-shrink: 0; max-width: 50%;}
.payment-total-wrap {margin: .8rem 0 0.4rem; padding-top: 0.8rem; border-top: 1px solid var(--gray-200);}
.payment-wrap + .payment-total-wrap {margin:.8rem 0 0.4rem;}
.payment-total-wrap.dashed-bd {border-top: 1px dashed var(--gray-200)}
.payment-extra-info {width: 100%; text-align: right;}
.payment-item.payment-discount .payment-value-discount {color: var(--red-600);}
.payment-period span{display: block; text-align: right;}
.payment-total-row {display: flex; align-items: center; gap:0 0.4rem; display: flex; flex-wrap: wrap; padding:0.2rem 0;}
.payment-badge {display: inline-flex; align-items: center; justify-content: center; padding: 0.2rem 0.6rem; border-radius: 0.4rem; background-color: var(--green-100); font-family: var(--Pretendard); font-weight: var(--font-weight-medium); font-size: var(--font-size-xs); line-height: var(--line-height-100); color: var(--green-700);}
.payment-total-value {flex: 1; text-align: right; font-family: var(--Pretendard); font-weight: var(--font-weight-bold);}
.payment-benefit-row {text-align: right; margin-top: 0.4rem;}
.payment-benefit-row span.real-price{display: block;}
.bg-loding .payment-benefit-row span.real-price{display: none;}
.bg-loding .payment-benefit-row .skeleton-box{width: 7.2rem; height:1.2rem}
.pay-detail-discout {margin-top:.8rem; padding-top:1.2rem; border-top: 1px solid var(--gray-200);}
.pay-detail-discout .payment-item + .payment-item{margin-top: .8rem;}
.pay-detail-unit .payment-list { margin-top:.2rem; padding-left:.8rem; border-left:.4rem solid var(--gray-200)}
/* .pay-detail-unit .payment-item.tit-ver:last-child {margin-bottom:-.8rem;} */
.payment-label.has-sub .payment-label-sub{display: block;}
.payment-label.has-sub +.payment-value{align-self: flex-start;}

/* ====================================
   ✅ section
==================================== */
.n-inner { background-color: var(--neutral-100); font-family: var(--font-family);}
.n-inner * {box-sizing: border-box;}
.n-sec { background-color: var(--white);}
.n-sec + .n-sec { margin-top: 1.2rem;}
.section-cont {padding: 0 1.6rem 1.6rem 1.6rem;}
.section-cont .no-data{padding: 1.4rem 0; text-align: center;}
/* ====================================
   ✅ bottom fix menu
==================================== */
.btm-quick-menu {position: fixed;bottom:0; left:0; right:0; z-index: 500; transition:transform 0.3s ease-in-out;
  will-change: transform; box-sizing: border-box;}
.btm-quick-menu.hide { transform:translateY(100%);}
.btm-quick-menu.n-fixed{position:static;}
.btm-quick-menu .btm-quick-menu-info {display: flex; align-items: center;justify-content: center; padding:.4rem 1.6rem; flex-wrap: wrap; box-sizing: border-box;}
  /* p 태그를 순서대로 보였다 안보였다 반복하는 애니메이션 */
.btm-quick-menu .btm-quick-menu-info { position: relative; height: 2.6rem; /* 최대 p 높이에 맞게 조절 */overflow: hidden;}
.btm-quick-menu .btm-quick-menu-info p {position: absolute;left: 0;top: 50%;transform: translateY(-50%);width: 100%;opacity: 0;height: auto;text-align: center;transition: opacity 0.6s;animation: btm-quick-menu-p-fade 4s cubic-bezier(0.45, 0, 0.55, 1) infinite;/* animation-delay는 아래에서 nth-child로 지정 */pointer-events: none; /* 클릭 방지 */}
.btm-quick-menu .btm-quick-menu-info p.no-animation {animation: none; opacity: 1;}
.btm-quick-menu .btm-quick-menu-info p:nth-child(1) { animation-delay: 0s; }
.btm-quick-menu .btm-quick-menu-info p:nth-child(2) { animation-delay: 2s; }
@keyframes btm-quick-menu-p-fade {
  0% { opacity: 0; }
  5% { opacity: 1; }
  45% { opacity: 1; }
  50% { opacity: 0; }
  100% { opacity: 0; }
}
/* ====================================
     ✅ 예약규정 
==================================== */
.term-agree-all {display:flex; align-items:center;  margin-bottom: .8rem; border-radius: .8rem; height: 4.8rem;}
.term-agree-all label {padding-left:1.6rem; width:100%; height:100%; align-items: center;}
.term-agree-all button {white-space: nowrap;}
.term-agree-all .checkbox-box {margin-right:.8rem}
.term-detail {padding-left:1.6rem;}
.term-detail .checkbox-low { position: absolute; top: 50%; transform: translateY(-50%); left: 0rem; width: 4rem;}
.term-detail-itm .checkbox-low-box {margin-right:.4rem;}
.term-detail-itm {display: flex; height: 3.2rem; position: relative; padding-left:2.4rem; padding-right:.8rem}
.term-detail-itm +.term-detail-itm {margin-top:.4rem;}
.term-detail-itm button {display:flex; justify-content:space-between;align-items: center; width: 100%; color: var(--gray-700); text-align: left;}
.term-detail-itm button i {display: flex; align-items: center;}


/* ====================================
     ✅ alert
==================================== */
.alert-type-modal {display: none; position: fixed; z-index: 100; left: 0; top: 0; width: 100vw; height: 100vh; background: rgba(33,37,41,.25); box-sizing: border-box;}
.alert-type-modal-inner {position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); background: #fff; border-radius: 1.2rem; box-shadow: 0 4px 24px rgba(37,37,37,0.18); width: 32rem; max-width: 90vw; padding: 1.6rem; display: flex; flex-direction: column; gap: 1.2rem;}
.alert-type-modal-inner .btn-group{padding: 0;}
.alert-type-modal-title {text-align: center;}
/* ====================================
     ✅ table-row 
==================================== */
.table-row {display: grid; grid-template-columns: var(--label-width) 1fr; width:100%; gap: .4rem;}
.table-row .has-sub {flex-direction: column; /*gap: 0.4rem;*/ flex-wrap: wrap; width: 100%;}
.table-row-tit,
.table-row-cont{display: flex;}
.table-row-cont{word-break: break-all;}
.table-row-cont.end-type{text-align: right; flex-direction: column;}
/* 비율 클래스 */
.table-row.label-w-23  { --label-width: 23.78%; }
.table-row.label-w-39 { --label-width: 39.02%; }
.table-row.label-w-48 { --label-width: 48.78%; }
.table-row.label-w-58 { --label-width: 58.54%; }
.table-row.label-w-78 { --label-width: 78.66%; }


/* ====================================
     ✅ 스켈리톤 
==================================== */
.bg-loding .real-price {display: none;}
.skeleton-box {display: none; width: 9.6rem; height: 2.2rem; border-radius: 0.4rem;}
.bg-loding .skeleton-box {display: inline-block;}
.payment-total-row .skeleton-box {width: 12.7rem; margin-left: auto;}
.menu-unit-price.payment-section{height: 2rem; margin-top:.3rem;}
.menu-unit-price.payment-section .skeleton-box{width: 12.2rem; height: 2rem;}

/* ====================================
     ✅ 항공
==================================== */

.flight-info {display: flex; flex-direction: column;}
.final-conf-cont-inner .flight-info,
.section-cont > .flight-info {gap: 1.2rem;}
.flight-info .flight-segment .flight-arr{width: 1.6rem; height: 1.6rem;}
.flight-info .flight-segment .flight-arr img{width: 100%;}
.flight-info .flight-segment div:nth-of-type(1){display: flex; align-items: center; gap: 0.4rem; margin-bottom: 0.8rem;}
.flight-info .flight-segment div.city{margin-bottom: 0.4rem; gap: 0.4rem;}
.flight-info .flight-segment div.city em{margin-left: 0.2rem;}
.flight-info .flight-segment > div{display: flex; align-items: center;}
.flight-info .flight-segment > div .text-secondary{display: flex; align-items: center;}
.flight-info [data-cruise-logo],
.flight-info [data-air-logo]{ width: 2rem; height: 1.5rem; vertical-align: middle; padding: 0; margin-right: 0.2rem; background-size: cover; background-repeat: no-repeat;  overflow: hidden; background-position: center;}
.flight-info .air-info{display: flex; align-items: center; flex-wrap: wrap; gap: 0;}
.flight-info .air-info .air-unit{display: inline-flex; align-items: center; white-space: nowrap;}
.flight-info .air-info .air-unit::after{content: '\00a0·'; text-align: center;}
.flight-info .air-info .air-unit:last-child::after{content: none; padding-right: 0;}
.flight-info .air-info .air-unit i.ico-baggage,
.flight-info .air-info .air-unit i.ico-carry{margin-left: 0;}
i.ico-baggage{display: block; width: 1.6rem; height: 1.6rem; margin-left: 0.4rem; background: url('../../images/common/ic_baggage_1_gy5_ou.svg') no-repeat; background-size: contain; font-size: 0;}
i.ico-carry{display: block; width: 1.6rem; height: 1.6rem; margin-left: 0.4rem; background: url('../../images/common/ic_carry_1_gy5_ou.svg') no-repeat; background-size: contain; font-size: 0;}

/* ====================================
     ✅ 탑승자 정보
==================================== */
.passenger-section .passenger-elem-item {padding: 1.7rem 1.6rem;  border: 1px solid var(--gray-200);  border-bottom: none;  border-radius: 0;}
.passenger-section .passenger-elem-item:first-of-type {border-radius: 0.8rem 0.8rem 0 0;}
.passenger-section .passenger-elem-item:last-of-type {border-bottom: 1px solid var(--gray-200); border-radius: 0 0 0.8rem 0.8rem;}
.passenger-section .passenger-elem-item:first-of-type:last-of-type {border-radius: 0.8rem;}
.passenger-section .passenger-elem-item > a {display: flex; flex-direction: column; gap: 0.8rem;}
.passenger-section .passenger-elem-item > a > div strong + strong{margin-left: 0.8rem;}
.passenger-section .passenger-elem-item > a > div strong + strong + strong{display: block; margin-left: 0; margin-top: 0.8rem;}
.passenger-elem-disabled,
.passenger-elem-disabled + p{opacity: 0.5;}
body.no-scroll {overflow: hidden; /* iOS용 */ touch-action: none;}
/* [data-popup]{position:fixed; left:0; right:0; bottom:0;  height: calc(var(--vh) * 100); background:#fff; transform:translateY(100%); transition:transform .35s ease; z-index:9999; display:flex; flex-direction:column;} */
/* ====================================
     ✅ 공통레이어 
==================================== */
[data-popup] {position: fixed; left: 0; right: 0; top: auto; bottom: 0; background: #fff; height: calc(var(--vh) * 100); max-height: calc(var(--vh) * 100); min-height: calc(var(--vh) * 100); height: auto; transform: translateY(100%); transition: transform .35s ease; z-index: 9999; display: flex; flex-direction: column;}
[data-popup^="#"] {position: static; min-height: 0; max-height: none; height: auto; transform: none; background: transparent; z-index: auto; display: revert; flex-direction: revert; transition: none;}
[data-popup].active{transform:translateY(var(--popup-active-translate-y, 0px));}
[data-popup].active.popup-slide-down-out {transform: translateY(100%); pointer-events: none; transition: transform 0.38s cubic-bezier(0.32, 0.72, 0, 1);}
[data-popup-style="radius"] {border-radius: 1.6rem 1.6rem 0 0;}
[data-popup] .layer-section {flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;  padding: 1.6rem 1.6rem 5rem;}
[data-popup] .layer-section.pd-b-0{padding-bottom: 0;}
[data-popup] .section-cont {flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; background: #fff; font-family: var(--font-family);}
/* 기존 레이어팝업 사용 초기화화 */
[data-popup] .ly_con{margin-top: 0 !important;}
[data-popup] .board_view .view_area .textarea,
[data-popup] .board_view .view_head,
[data-popup] .area_panel{padding:1.5rem 0;}
[data-popup] .board_view .view_area .box_territory1{margin: 0;}
[data-popup^="layer-passenger-nested"]{z-index:10001;}
[data-popup="layer-passenger"]{z-index:10000;}
.layer-cash-receipt .section-cont{overflow-y: hidden;}
.top-round-popup[data-popup="layer-passenger-terms"]{height: 70vh;}
.layer-dim{position:fixed;inset:0;background:rgba(0,0,0,0.16);opacity:0;visibility:hidden;transition:opacity .25s ease;z-index:9998;}
.layer-dim.active{opacity:1;visibility:visible; display: block;}
.sticky-passenger-tabs button,
.sticky-passenger-tabs .tab-line{min-width: 6.4rem;}
.passenger-form{padding:1.6rem 0 2rem;}
.passenger-form-sm-title{display: flex; align-items: center; flex:1; gap: 0.8rem; position:relative;}
.passenger-form-sm-title .text-info{position:absolute; top:50%; right: 0; transform: translate(0, -50%);}
.passenger-form-section{margin-top:0.8rem;}
.passenger-form-section + .passenger-form-section h3{margin-top: 1.6rem;}
.layer-passenger header .caption-sm-r{padding:0 1.6rem 1.6rem 1.6rem;}
.passenger-layer-tabs{display:flex; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width: none !important; padding:0 1.6rem; border-bottom:1px solid var(--gray-200);}
.passenger-layer-tabs::-webkit-scrollbar {display: none !important; width: 0 !important; height: 0 !important;}
.passenger-layer-tabs button{padding:1rem 0.8rem 1.6rem;flex:0 0 auto;position:relative;flex-shrink: 0; padding: 1rem .8rem; border: none; background: none; cursor: pointer; transition: color 0.3s; color: var(--gray-500);}
.passenger-layer-tabs button.active{color:var(--gray-900); font-weight: var(--font-weight-bold);}
.passenger-layer-tabs button.active:before{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:var(--gray-900);}
.passenger-notice{padding: 1.2rem; border-radius: 0.4rem;}
.passenger-stop-modal {display: none; position: fixed; z-index: 10050; left: 0; top: 0; width: 100vw; height: 100vh; background: rgba(33,37,41,.25); box-sizing: border-box;}
.passenger-stop-modal-inner {position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); background: #fff; border-radius: 1.2rem; box-shadow: 0 4px 24px rgba(37,37,37,0.18); width: 288px; max-width: 90vw; padding: 1.6rem; display: flex; flex-direction: column; gap: 1.2rem;}
.passenger-stop-modal-inner .btn-group{padding: 0; flex-direction: column;}
.passenger-stop-modal-title {text-align: center;}
.passenger-savefail-modal-wrap{display:none;position:fixed;z-index:120;left:0;top:0;width:100%;height:100%;background:rgba(33,37,41,.25);box-sizing:border-box;}
.passenger-savefail-modal-inner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border-radius:1.2rem;box-shadow:0 4px 24px rgba(37,37,37,0.18);width:288px;max-width:90vw;padding:1.6rem;display:flex;flex-direction:column;gap:1.2rem;}
.passenger-savefail-modal-inner .btn-group{padding:0;flex-direction:column;}
.passenger-savefail-modal-title{text-align:center;}
[data-popup="layer-passenger"] > .toast-box.showing{z-index:200;bottom:4.5rem !important;}
[data-popup="layer-passenger"] > .toast-box.showing p{width: 100%; text-align: center;}

.passenger-ocr-loading { display: none; position: absolute; inset: 0; z-index: 120; align-items: center; justify-content: center; pointer-events: auto;}
.passenger-ocr-loading.is-active { display: flex; }
.passenger-ocr-loading-backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.16);}
.passenger-ocr-loading-card {width: 16.4rem; height: 16.4rem; position: relative; z-index: 5; background: var(--white); border-radius: 1.6rem; padding: 3.5rem 2.4rem; box-shadow: 0 4px 24px rgba(37, 37, 37, 0.12); display: flex; flex-direction: column; align-items: center; gap: 0.8rem; text-align: center; box-sizing: border-box;}
.passenger-ocr-loading-spinner { display: flex; align-items: center; justify-content: center; width: 7.2rem; height: 7.2rem; border-radius: 0.8rem; position: relative; flex-shrink: 0; overflow: hidden;}
.passenger-ocr-loading-spinner:has(.lottie-ani) { background: transparent; }
.passenger-ocr-loading-spinner .lottie-ani { width: 100%; height: 100%; }
.passenger-ocr-loading-spinner .lottie-ani svg { display: block; width: 100%; height: 100%; }
.passenger-ocr-loading-preview-page .layer-passenger { position: relative; min-height: 100vh; }
.passenger-ocr-loading-preview-page header { position: relative; z-index: 2; }
.passenger-ocr-loading-preview-page .passenger-ocr-loading { z-index: 120; }

@keyframes passenger-ocr-spin {
  to {
    transform: rotate(360deg);
  }
}
.passenger-ocr-loading-ellipsis { position: relative; display: inline-block; }
.passenger-ocr-loading-ellipsis-d2,
.passenger-ocr-loading-ellipsis-d3 {position: absolute; top: 0; opacity: 0;}
.passenger-ocr-loading-ellipsis-d2 {left: auto; animation: passenger-ocr-loading-dots2 1.2s infinite;}
.passenger-ocr-loading-ellipsis-d3 {left: 0.7rem; animation: passenger-ocr-loading-dots3 1.2s infinite;}
.passport-guide-wrap,
.passport-guide-wrap2{display: none;}
.passport-guide-wrap.on,
.passport-guide-wrap2.on{display: block;}
.passport-guide-img{margin-top: 0.4rem; display: none;}
.passport-guide-wrap.on .passport-guide-img.on,
.passport-guide-wrap2.on .passport-guide-img.on{display: block;}
.bul-type1 dd{padding-left: 1rem; position:relative;}
.bul-type1 dd:before{content:''; position: absolute; top: 0.8rem; left: 0; width: 0.25rem; height: 0.25rem; border-radius: 100px; background-color: #6A7282;}
.passport-guide-wrap img,
.passport-guide-wrap2 img{width: 100%;}

.policy-flight-cont {margin:.8rem 1.6rem 0; height:16.8rem; overflow-y: scroll;}
.layer-pay-detail .pay-detail-unit + .pay-detail-unit { margin-top: 1.2rem;}
.pay-detail-discout {margin-top:.8rem; padding-top:1.2rem; border-top: 1px solid var(--gray-200);}
.pay-detail-discout .payment-item + .payment-item{margin-top: .8rem;}

.layer-scroll-box .sec-control-tab {position: sticky; top: 0; z-index: 10; background-color: var(--white); margin:0 -1.6rem;}

@media screen and (max-width: 768px) {
    body {
        touch-action: pan-x pan-y; 
    }
}

/*여행서비스쿠폰*/
.input-elem-btn.auth-btn {min-width: 9.2rem;}
.input-elem-btn.auth-btn:disabled{ border-color: rgba(209, 213, 220, 0.4); color: rgba(16, 24, 40, 0.4); }
.input-elem-btn.auth-confirm-btn:disabled{opacity: 0.4;}
.auth-phone-inner .auth-phone-timer{margin-top:.4rem;}
.auth-phone-inner .input-grid {margin:.4rem 0}
.auth-phone-inner .input-grid .input-elem-btn.auth-confirm-btn{width:10.5rem; white-space: nowrap;}
/* ====================================
     ✅ sectionList-ver
==================================== */
.selection-list-ver {width:100%; border-radius: .8rem;}
.selection-list-ver label {width:100%; padding:1.6rem; }
.selection-list-ver.active {border-color: var(--gray-900); background-color:var(--gray-50); border-width: 0.15rem;}
.selection-list-ver.disabled {opacity: 0.5;}
/* ====================================
     ✅ select style button
==================================== */
.btn-type-slt {border-radius: .4rem;}
.btn-type-slt {position: relative;}
/* bg box */
.notice-box {padding:1.2rem; display: flex; flex-direction: column; gap: 0.4rem;}
.list-type li{position: relative; padding-left: 1.6rem;}
.list-type li:before{content:'·'; position: absolute; top: 0; left: 0.4rem; font-size: 1em; line-height: inherit;}

/* 항공 레이어 */
.data-schedule {padding-bottom: 1.6rem;}
.data-schedule header {display: flex; padding:1.3rem 0; gap: 0 0.3rem;}
.data-schedule header .txt-data3{margin-left: 0.3rem; flex: 1; -webkit-box-flex: 1;}
.data-schedule header .txt-data3 .city{display: flex; align-items: center; gap: 0.2rem;}
.data-schedule .data-flight {height: auto;}
.data-schedule .data-flight .total-time{margin-top: 1.6rem;}
.data-schedule p.total-time strong {display: block; padding: 1.2rem 0; text-align: center;}
.data-schedule + p.guide-txt{padding:0 0 1.6rem 0; text-align: center;}
.data-flight > li{position: relative; padding-bottom:2.4rem; padding-left: 10.8rem; }
.data-flight > li:last-child{padding-bottom: 1.2rem;}
.data-schedule .data-flight > li:not(:last-child):before {content: ""; position: absolute; left: 8.95rem; top: 1rem; bottom: -1rem; border-left: 0.1rem solid #00A6F4;}
.data-flight .city {position: relative;}
.data-flight .city > strong{display: block;}
.data-flight .city:only-child {min-height: 3.6rem;}
.data-flight .city:before {content: ""; position: absolute; left: -2.2rem; top: 0.4rem; background-color: #00A6F4; width: 0.7rem; height: 0.7rem; border-radius: 100px; border: 0.1rem solid #fff;}
.data-flight .city time {position: absolute; left: -11rem; top: 0; width: 7.7rem; padding-top: 2rem;}
.data-flight .city time b {position: absolute; left: 0; top: 0; width: 100%;}
.data-flight .city strong {margin-bottom: 0.3rem;}
.data-flight [class*="flight"] span:not(.n-badge) {display: flex; align-items: center;}
.data-flight .flight-info {margin: 0.8rem 0 0; min-height: 4.2rem;}
.data-flight .flight-info .flight-tooltip{display: flex;}
.data-flight .flight-info span:last-of-type em {margin-right: 0.4rem;}
.data-flight .flight-info .info-tooltip-txt{min-width: 17rem;}
.data-flight .flight em {position: relative; text-align: left; width: auto;}
/* 휴대수하물 추가로 주석 */
/* .data-flight .seat-info{display: flex; align-items: center; margin-top: 0.4rem; gap: 0.4rem;} */
.data-flight .seat-info2{margin-top: 0.4rem;}
.data-flight .seat-info .n-badge,
.data-flight .seat-info2 .n-badge{margin-right: 0.4rem;}
.data-flight .flight strong.flight-time{position: absolute; left: 0; top: 4.5rem; width: 7.7rem;}
.data-flight > li.flight-via{max-height: 11rem; min-height: 10rem; padding-bottom: 5.2rem;}
.data-flight > li.flight-via + .flight-via2{margin-top: -2rem;}
.data-schedule .data-flight > li.flight-via:before {background-color: transparent; border-left: 0.1rem dashed #00A6F4;}
.data-schedule .data-flight > li.flight-via2:before {border-left: 1px solid #80CCFD; background: none;}
.data-schedule .data-flight > li.flight-via .city:before, 
.data-schedule .data-flight > li.flight-via2 .city:before {width: 0.6rem; height: 0.6rem; border-width: 0.2rem; background-color: #fff; border-color: #80CCFD;}
.flight-info .flgiht-wait{position:absolute; top:4.5rem; left: 0;}
.data-flight-wrap .total-time{border-radius: 0.4rem;}
[data-popup] .section-cont{flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; background: #fff;}
.depart-tooltip{left:auto; right: 0;}
.via-tooltip{left:50%; transform: translate(-50%, 0);}
/* top radius popup */
.top-round-popup{max-height: calc(var(--vh) * 100)!important; height: calc(100% - 5.6rem)!important; min-height: unset!important; border-radius: 1.2rem 1.2rem 0 0;}
.top-round-popup.auto-height{height: auto!important;}
.top-round-popup > header{background-color: #fff; border-radius: 1.2rem 1.2rem 0 0;}
.top-round-popup > header .layer-first-title{padding: 1.5rem 1.6rem;}
.top-round-popup > header .layer-first-title h1{min-height: 2.8rem;}
.top-round-popup > header p{margin-top: 1.2rem;}
.top-round-popup > header p span{display: block;}
.top-round-popup .final-conf-cont{padding: 1.6rem;}
.top-round-popup .final-conf-cont .final-conf-cont-inner{padding: 1.6rem; display:flex; flex-direction: column; gap: 1.2rem; background-color: #fff; border-radius: 1.2rem;}
.top-round-popup .final-conf-cont .btn-group.full-type{padding: 0;}

/* 쿠폰 */
.select-list-hor { display: flex; flex-direction: column; gap: 2.3rem; }
.select-list-hor-box > a { display: flex; align-items: center; justify-content: space-between; padding: 1.7rem 1.6rem; border: 1px solid #d1d4da; background: #fff; }

/* ocr */
.select-list-ocr{margin-bottom: 1.6rem;}
.select-list-ocr .select-list-hor-box > a{padding: 1.2rem; gap: 0.8rem; align-items: center;}
.select-list-hor-box-img {padding:0.8rem; border-radius: 0.8rem;}
.ocr-box{flex:1; }
.ocr-box span{display: block;}
.ocr-guide-img img{width: 100%;}
.select-list-ocr .select-list-hor-box > a.active{border-color: var(--gray-900);}

[data-popup-open="layer-coupon"] {display: flex; align-items: center;}

/* 마이페이지 */
.search-panel{padding: 2rem 1.6rem; background-color: #fff;}
.count-area{position: relative; padding: 1rem 1.6rem; background-color: #F5F5F5; font-family: 'pretendard';}
.count-area strong {font-size: 1.4rem; font-style: normal; font-weight: 500;}
.list-type-my{display: flex; flex-direction: column; gap: 1.2rem; background-color: #fff;}
.list-type-my + .list-type-my{margin-top: 1.2rem;}
.list-type-my .inner{padding:1.6rem;}
.list-type-my .inner .top{border-bottom: 1px solid var(--gray-200); padding-bottom: 1.2rem;}
.list-type-my .inner .top .flex-row{justify-content: space-between;}
.list-type-my .inner .top .flex-row a{display: flex; align-items: center;}
.list-type-my .resv-card {background: #fff; padding: 1.2rem 0 0;}
.list-type-my .resv-card .thumb {width: 6.4rem; height: 6.4rem; border-radius: .8rem; flex-shrink: 0; background: #E5E5E5; position: relative; overflow: hidden;}
.list-type-my .resv-card .thumb img{position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
.list-type-my .resv-card .thumb [data-air-logo]{display: block; width: 4rem; height: 3rem; padding: 0; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.list-type-my .action-list {margin-top: 1.2rem;}
.list-type-my .action {display: flex; align-items: center; justify-content: space-between; padding: 1.6rem; border-radius: 0.8rem; border: 1px solid var(--gray-200); border-bottom: none; position:relative;}
.list-type-my .action:only-child {border-radius: 0.8rem; border-bottom: 1px solid var(--gray-200);}
.list-type-my .action:first-child:not(:last-child) {border-radius: 0.8rem 0.8rem 0 0;}
.list-type-my .action:last-child:not(:first-child) {border-radius: 0 0 0.8rem 0.8rem; border-top: 1px solid var(--gray-200); border-bottom: 1px solid var(--gray-200);}
.list-type-my .action:not(:first-child):not(:last-child) {border-radius: 0; border-top: 1px solid var(--gray-200);}
.list-type-my .action + .action {border-top: none;}
.list-type-my .action > a{display: block; position: absolute; right: 0; top: 0; width: 100%; height: 100%;}
.list-type-my .resv-info{display: flex; justify-content: space-between; gap: 1.2rem; position: relative;}
.list-type-my .resv-info > a{display: block; width: 100%; height: 100%; position: absolute; right: 0; top: 0;}
.list-type-my .action > div:not(.btn-group) div{display: flex; gap:0.4rem; margin-top: 0.6rem; align-items: center;}
.list-type-my .table-row-cont{flex-direction: column;}
.list-type-my .btn-group.full-type{padding: 0;}

/* 마이페이지 — 쿠폰함 */
.content.mypage.myp-coupon,
.content.mypage.myp-coupon .count-area{background-color: var(--white) !important;}
.myp-coupon-head {display: flex; flex-direction: column; gap: 0.8rem; padding: 2.4rem 1.6rem 1.6rem; background-color: var(--white, #fff); }
.myp-coupon-head .heading-lg-b { margin: 0; }
.myp-coupon-head .label-sm-r { margin-top: 0.4rem; display: block; }
.content.mypage.myp-coupon .scroll-pill-tab.sticky-type {--scroll-pill-tab-sticky-top: calc(5.6rem + 3.8rem);}
.content.mypage.myp-coupon:has(.scroll-pill-tab-panel:not([hidden]) .no-data) {display: flex; flex-direction: column; min-height: calc(100dvh - 5.6rem - env(safe-area-inset-bottom, 0px));}
.myp-coupon:has(.scroll-pill-tab-panel:not([hidden]) .no-data) .scroll-pill-tab-wrap {flex: 1; display: flex; flex-direction: column; min-height: 0;}
.myp-coupon .scroll-pill-tab-panel:has(.no-data):not([hidden]) {flex: 1; display: flex; flex-direction: column;}
.myp-coupon .scroll-pill-tab-panel .no-data {flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 0.8rem; margin: 0; padding: 0 1.6rem; text-align: center;}
.myp-coupon-list {display: flex; flex-direction: column; gap: 1.2rem; padding: 1.2rem 1.6rem 2.4rem; margin: 0; list-style: none;}
.myp-coupon-card {padding: 1.6rem; background-color: var(--white, #fff); border: 1px solid var(--gray-200, #e5e7eb); border-radius: var(--radius-8, 0.8rem);}
.myp-coupon-card.is-recalled {position: relative;}
.myp-coupon-card-cover {position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 0.4rem; padding: 1.6rem; background-color: rgba(255, 255, 255, 0.8); border-radius: var(--radius-8, 0.8rem); text-align: center;}
.myp-coupon-card-cover .body-sm-r {word-break: keep-all;}
.myp-coupon-card-top {display: flex; align-items: baseline; justify-content: start; gap: 0.6rem;}
.myp-coupon-card .myp-coupon-card-top + .heading-3xs-m {margin-top: 0.8rem;}
.myp-coupon-card .heading-3xs-m + .myp-coupon-valid {margin-top: 0.4rem;}
.myp-coupon-valid {display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap;}
.myp-coupon-card .label-md-sb {margin-top: 1.2rem; display: block;}
.myp-coupon-card-bottom-wrap {margin-top: 0.6rem;}
.myp-coupon-card .help-box-list {margin-top: 0.8rem;}
.myp-coupon-card .label-sm-sb.text-info {margin-top: 0.8rem; display: block;}
.myp-coupon-card-foot {display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; margin: 1.1rem 0 0.5rem 0;}
.myp-coupon-link-txt {padding: 0; border: none; background: none; text-decoration: underline; cursor: pointer;}
.myp-coupon-card-foot a {display: inline-flex; align-items: center; gap: 0.2rem; flex-shrink: 0;}
.layer-coupon-condition.top-round-popup {overflow-x: hidden; display: flex; flex-direction: column;}
.layer-coupon-condition-top {flex-shrink: 0; background-color: var(--white, #fff);}
.layer-coupon-condition .section-cont {flex: 1; min-height: 0; padding: 0; overflow-x: hidden; overflow-y: auto;}
.layer-coupon-condition .layer-scroll-box .sec-control-tab {margin: 0; position: sticky; top: 0; z-index: 10; background-color: var(--white, #fff);}
.layer-coupon-condition .layer-coupon-summary {margin: 1.2rem 1.6rem 0; padding: 1.6rem; background-color: var(--white, #fff); border: 1px solid var(--gray-200, #e5e7eb); border-radius: var(--radius-8, 0.8rem);} 
.layer-coupon-condition .layer-coupon-summary + .layer-coupon-summary {border-top: 1px solid var(--gray-200, #e5e7eb);}
.layer-coupon-condition .layer-coupon-summary .myp-coupon-card-top-wrp .heading-2xs-m {margin-top: 0.8rem;}
.layer-coupon-condition .layer-coupon-summary .heading-2xs-m + .myp-coupon-valid {margin-top: 0.4rem;}
.layer-coupon-condition .sec-control-tab {margin-top: 0; padding: 0 1.6rem; overflow: hidden; border-bottom: 1px solid var(--gray-200);}
.layer-coupon-condition .tab-type-bd {padding-left: 0; overflow-x: hidden; border-bottom: 0;}
.layer-coupon-condition .help-box-list li {word-break: keep-all; overflow-wrap: break-word;}
.layer-coupon-tab-area {padding: 1.2rem 1.6rem 2.4rem;}
.layer-coupon-detail .label-md-sb {display: block;}
.layer-coupon-detail .body-sm-r {margin-top: 0.4rem;}
.layer-coupon-info-list {margin: 0.8rem 0 0; padding: 0; list-style: none;}
.layer-coupon-info-list li + li {margin-top: 0.4rem;}
.layer-coupon-cond-list {margin-top: 1.2rem;}
.layer-coupon-detail .help-box {margin-top: 1.6rem;}
.layer-coupon-prd-list {display: flex; flex-direction: column; gap: 1.6rem; margin: 0; padding: 0; list-style: none;}
.layer-coupon-prd-item {display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; min-width: 0;}
.layer-coupon-prd-item .body-sm-m,
.layer-coupon-prd-item .heading-2xs-m {flex: 1; min-width: 0; margin: 0;}
.layer-coupon-prd-item .btn-base {flex-shrink: 0;}

/*예약상세*/
.period-box .period-box-top {display: flex; align-items: center; justify-content: space-between; height:6.5rem}
.period-box .period-box-top > * {display:flex; flex-direction: column; align-items: center; justify-content: center; height: 100%;}
.period-box .period-box-top-center{width: 5.5rem}
.period-box .period-box-top-left,
.period-box .period-box-top-right {flex:1;}
.period-box .period-box-btm {display: flex; align-items: center; justify-content: center; height: 4rem; border-top: 1px solid var(--gray-300);}
.period-box .period-box-btm a {display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.period-box .period-box-top .n-badge{padding:.4rem .6rem;}
.hotel-info-item-btn {display: flex; align-items: center; justify-content: center; width:100%; height: 5.6rem;}
.hotel-info-item-btn + .hotel-info-item-btn {margin-top: 0.8rem;}
.hotel-info-item-btn button {width: 100%; height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 0.4rem; padding: 0 1.6rem;}
.hotel-info-item-btn .hotel-info-name {flex: 1;
 min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: left;}
 .hotel-info-item-date {display: flex; align-items: center;}
 .hotel-info-item-date [class*="icon-txt"] {margin-left: 0.8rem;}
 .hotel-info-item-btn .no-detail 
 {pointer-events: none;}
 .hotel-info-item-btn .no-detail .hotel-info-ic{display: none;}

 .hotel-info-item [class*="icon-txt"] {height:2rem;padding: 0.4rem; display:inline-flex; align-items: center;}
.hotel-info-ic {display: block; width: 1.6rem; height: 1.6rem; background: url('../../images/common/ic_arrow_right.svg') no-repeat; background-position: -148px 0; font-size: 0;}
.hotel-info-more-btn { width: 100%; height: 3.2rem; display: inline-flex; align-items: center; justify-content: center; gap: 0.2rem;}
.hotel-info-more-btn-ic { display: block; width: 1.6rem; height: 1.6rem; flex-shrink: 0; background: url('../../images/common/ic_arrow_down.svg') no-repeat 50% 50%; background-position: -148px 0;}
.hotel-info-more-btn.is-expanded .hotel-info-more-btn-ic { transform: rotate(180deg);}
.hotel-info-more-btn.is-expanded {margin-top:1.2rem;}
/*결제내역*/
.payment-method-wrap {background-color: var(--gray-100); padding: 1.6rem; margin: .8rem -1.6rem 0}
.payment-method-wrap .payment-method-item {background-color: var(--white); padding: 1.6rem; border-radius: 1.6rem; text-align: center;}
.payment-method-wrap .payment-method-item .table-row + .table-row{ margin-top:0.4rem}
.payment-method-wrap .btn-group {margin-top: .8rem; padding:0}
.payment-method-wrap + .payment-method-wrap{margin-top: -1.6rem;}
.payment-method-wrap:last-child{margin-bottom: -2.4rem;}
.payment-method-wrap .n-badge {margin-left:.4rem;}
.btn-pay-share {width:12.4rem;}
.btn-pay-share .ico_set {width:1.6rem; height:1.6rem; background: url('../../images/common/ic_share_ou.svg') no-repeat; background-position: 0 0; background-size: contain; font-size: 0; margin-right:.4rem; flex-shrink: 0;}
.bank-ac-copy-btn {width:1.6rem; height:1.6rem; margin-top:-.4rem;}
.bank-ac-copy-btn .ico-copy{width:100%; height:100%; display: inline-block;background: url('../../images/common/ic_copy_gy4_fi.svg') no-repeat; background-position: 0 0; background-size: contain; font-size: 0; }
.payment-method-wrap.expired-case  .table-row-cont-txt{color: var(--gray-400)!important;}
.payment-method-wrap.expired-case .table-row-tit{align-items: center;}
.payment-method-wrap.expired-case .table-row-tit [class*="icon-txt"]{margin-left: .4rem;}
/*공유하기레이어*/
.confirm-layer-box{left: 50%;transform: translate(-50%, calc(100%)); bottom:auto;transition: none; background: #fff; border-radius: 1.2rem; box-shadow: 0 4px 24px rgba(37,37,37,0.18); width: 288px; max-width: 90vw; min-height: auto; display: none; flex-direction: column; overflow: hidden;}
.confirm-layer-box.active{ display: flex; top: 50%;  transform: translate(-50%,-50%);}
.pay-share-list .pay-share-item button{display:flex; align-items: center; padding:.8rem 0; width: 100%;}
.pay-share-list .pay-share-item button[data-popup-close] {
width: 100%; height: auto; position: static; transform: none; background: none;}
.pay-share-list .pay-share-item button .ico-share-kakao,
.pay-share-list .pay-share-item button .ico-share-facebook,
.pay-share-list .pay-share-item button .ico-share-x,
.pay-share-list .pay-share-item button .ico-share-mail,
.pay-share-list .pay-share-item button .ico-share-sms,
.pay-share-list .pay-share-item button .ico-share-url{width: 3.2rem; height: 3.2rem; background: url('../../images/common/img_share_kakao.svg') no-repeat; background-position: 0 0; background-size: contain; font-size: 0; margin-right:.8rem;}
.pay-share-list .pay-share-item button .ico-share-facebook{ background-image: url('../../images/common/img_share_facebook.svg');}
.pay-share-list .pay-share-item button .ico-share-sms{ background-image: url('../../images/common/img_share_mail.svg');} /* 문자 전용 아이콘 에셋 없어 메일 아이콘 임시 사용 */
.pay-share-list .pay-share-item button .ico-share-x{ background-image: url('../../images/common/img_share_x.svg');}
.pay-share-list .pay-share-item button .ico-share-mail{ background-image: url('../../images/common/img_share_mail.svg');}
.pay-share-list .pay-share-item button .ico-share-url{ background-image: url('../../images/common/img_share_url.svg');}
/* .payment-method-wrap .btn-group{padding: 0;} */
/*결제수단 카드사, 할부 선택 */
.pay-opt-change-list > li {position:relative; display: flex; justify-content: space-between; height:4.8rem; padding: 1rem 0;}
.payment-total-wrap:only-child {margin-top: 0;}
.point-check-box{display: flex; align-items: center; height: 2.8rem;}
/*약관 및 규정 안내 레이어*/
[data-popup*='layer-'] .agree_area,
[data-popup*='layer-'] .terms_type
{font-family: var(--font-family);}
[data-popup*='layer-'] .ly_con {margin-top:2rem}

/* 문의하기 */
[class*="layer-reserv-inq"] textarea{min-height: 16.2rem;}
[class*="layer-reserv-inq"] .btn_wrap5{padding: 0;}
[class*="layer-reserv-inq"] .btn-group button{height: 4.8rem;}
[class*="layer-reserv-inq"] .btn-group button,
[class*="layer-reserv-inq"] .btn-group a{color: var(--gray-700);}
.layer-reserv-inq1 .form_type {margin: 0; padding: 0; background-color: #fff;}
.layer-reserv-inq1 .btn-group {gap: 0.8rem;}
.layer-reserv-inq4 .btn-group {padding: 1.6rem 0 0 0; justify-content: space-between;}
.layer-reserv-inq4 .btn-group a{padding: 0; min-width: 8rem !important; width: 8rem; height: 4rem; line-height: 4rem; border-radius: 0.8rem; border-color:#E5E7EB;}
.layer-reserv-inq4 .btn-group .btn-group{gap: 0.4rem; padding: 0;}
.layer-reserv-inq4 .btn-group .btn-group a.btn_white2{border-color: #00A6F4;}
.layer-reserv-inq4 .board_view:last-child{padding-bottom: 5rem;}
.layer-reserv-inq4 .board_view + .board_view{margin-top: 4rem;}
.layer-reserv-inq4 .btn-group {padding: 1.6rem 0 0 0; justify-content: space-between;}
.layer-reserv-inq4 .btn-group a{padding: 0; min-width: 8rem; width: 8rem; height: 4rem; line-height: 4rem; border-radius: 0.8rem; border-color:#E5E7EB;}
.layer-reserv-inq4 .btn-group .btn-group{gap: 0.4rem; padding: 0;}
.layer-reserv-inq4 .btn-group .btn-group a.btn_white2{border-color: #00A6F4;}
.inquiry-list {padding:0; margin:0; list-style:none;}
.inquiry-item {padding:0.8rem 0; display: flex; flex-direction: column; gap: 0.8rem; position: relative;}
.inquiry-item > a{position: absolute; top: 0; left:0; display: block; width: 100%; height: 100%; font-size: 0;}
.inquiry-item + .inquiry-item{margin-top: 0.4rem;}

/* ocr */
.layer-ocr .section-cont > p span{display: block;}
/* 현금영수증 */
.layer-cash-receipt-wrap{overflow: auto;}
.layer-cash-receipt .section-cont + .section-cont{border-top: 8px solid var(--neutral-100); }
.layer-cash-receipt .section-cont header,
.layer-cash-receipt .btn-group.full-type{padding: 1.6rem 0;}
.layer-cash-receipt .section-cont .no-data{padding: 7rem 0;}
.layer-cash-receipt .checkbox-ty1{align-items: center;}
.layer-cash-receipt .checkbox-ty1 i{margin-right: 0.6rem;}
.layer-cash-receipt .table-row + .table-row{margin-top: 1.2rem;}
/*확인 모달*/
.layer-alert.confirm-layer-box,
.layer-confirm.confirm-layer-box {position:fixed; width:288px; max-width:90vw; min-height:auto; height:auto; max-height:none; transform:translate(-50%, calc(100%)); transition:none; gap: 1.2rem;}
.layer-alert.confirm-layer-box.active,
.layer-confirm.confirm-layer-box.active {top:50%; transform:translate(-50%, -50%); z-index: 10000;}
.layer-alert.confirm-layer-box .section-cont,
.layer-confirm.confirm-layer-box .section-cont {flex:none; overflow:visible; padding:0 var(--spacing-16) var(--spacing-16);}
.confirm-layer-box .btn-group a{display: block; width: 100%; }
.layer-alert.confirm-layer-box .section-cont {padding:var(--spacing-16) var(--spacing-16) 0 var(--spacing-16);}
.layer-confirm.confirm-layer-box .section-cont {padding:0 var(--spacing-16)}
.layer-confirm.confirm-layer-box > header .layer-first-title {padding-bottom:0; height: auto;}
.layer-alert.confirm-layer-box .layer-alert-desc {text-align:left;}
.layer-confirm.confirm-layer-box .layer-confirm-desc {text-align:center;}
.layer-alert.confirm-layer-box .btn-group,
.layer-confirm.confirm-layer-box .btn-group {padding:0 var(--spacing-16) var(--spacing-16); margin:0; gap:1.2rem;}
.layer-alert-preview {display:flex; flex-direction:column; gap:4rem; align-items:center; justify-content:center; min-height:100vh; background-color:#2f2f2f; padding:4rem; box-sizing:border-box;}
.layer-alert-preview .confirm-layer-box {position:static; transform:none; left:auto; top:auto;}
.reserv-cancel-sec .section-cont .mg-t-12:only-child{margin-top: 0;}

/* 예약진행, 완료, 결제 완료/실패 페이지 */
.reserv-progress-wrap {display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 6.4rem);box-sizing:border-box;}
.reserv-progress-img {width:16rem;height:16rem;position:relative;margin-bottom:1.2rem;}
.reserv-progress-img:has(.lottie-ani) {background:transparent;}
.reserv-progress-img .lottie-ani {width:100%;height:100%;}
.reserv-progress-img .lottie-ani svg {display:block;width:100%;height:100%;}
.reserv-progress-txt {text-align:center;}
.reserv-progress-txt p + p {margin-top:0.8rem;}
.btn-group.fixed-bottom {position:fixed;left:0;bottom:0;width:100%;margin:0 auto;padding:1.2rem 1.6rem 2.4rem 1.6rem;z-index:100;box-sizing:border-box;}
.btn-group.fixed-bottom .menu-unit-l button{min-width: 9.6rem;}
/* 결제하기 레이어 */
.layer-payment >.section-cont {padding: 0 0 8.8rem 0;}
.layer-payment .payment-total-wrap{margin-bottom:-.8rem;}

/* 상품정보 */
.prd-tags{display: flex; gap: 0.4rem; align-items: center;}
.prd-info-box{padding: 1.6rem; display: flex; flex-direction: column; gap: 1.2rem;}
.prd-info-box cite{font-style: normal;}
.air-logo-bul {display: flex; align-items: center; gap: 0.7rem;}
.prd-info-box [data-air-logo]{ width: 2rem; height: 1.5rem; padding: 0; background-size: contain; background-repeat: no-repeat;  overflow: hidden; background-position: center;}
.air-logo-bul span + span{position: relative; padding-left: 0.8rem;}
.air-logo-bul span + span:before {content: '·'; position: absolute; left: 0; color: #99A1AF;}
.prd-info-box time + time:before{display: none;}
.prd-info-box .txt-ellipsis{flex: 1; min-width: 0; max-width: 100%;}
.prd-info-box .table-row .has-sub{min-width: 0; width: 100%;}
.prd-info-box .btn-group.full-type{padding: 0;}

/* 상세필터 */
.detail-filter-block + .detail-filter-block { margin-top: 2.4rem; }
.detail-filter-tit { margin: 0 0 1.2rem; }
.filter-chip-list { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.filter-chip-list .filter-chip { position: relative; box-sizing: border-box; min-width: 7.2rem; }
/* .filter-chip-list.is-col4 .filter-chip { flex: 0 0 calc(25% - 0.6rem);} */
.filter-chip-list.is-auto .filter-chip { flex: 0 0 auto; max-width: none; }
.filter-chip-list.is-auto .filter-chip em { padding-left: 1.2rem; padding-right: 1.2rem; white-space: nowrap; }
.filter-chip input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.filter-chip em { display: flex; align-items: center; justify-content: center; min-height: 4rem; padding: 0 1.2rem; border: 1px solid var(--gray-300, #D1D5DC); border-radius: 0.8rem; background: #fff; text-align: center; box-sizing: border-box; transition: border-color 0.15s ease, color 0.15s ease; }
/* .filter-chip input:checked + em { border-color: var(--gray-900, #101828); color: var(--gray-900, #101828); font-weight: 700; background-color: #F9FAFB;} */
.filter-chip input:checked + em {color: var(--gray-900, #101828); font-weight: 700; background-color: #F9FAFB; border: none; box-shadow: 0 0 0 1px #000;}

.btn-set-wrap{padding-bottom: 8.8rem;}
.myp-pay .payment-total-wrap {margin-bottom: -.8rem;}

/* 숙소 정보 카드 */
.hotel-room-card {display: flex; flex-direction: column; gap: var(--spacing-8); padding: var(--spacing-16); text-decoration: none;}
.hotel-room-card-name {display: flex; align-items: flex-start; gap: var(--spacing-8);}
.hotel-room-card-name .hotel-info-ic {align-self: center;}
.hotel-room-card-name .txt-ellipsis {flex: 1 1 0; min-width: 0;}
.hotel-room-card-desc {padding: 0; list-style: none;}
.hotel-room-card-desc li {position: relative; padding-left: 1rem;}
.hotel-room-card-desc li::before {content: "·"; position: absolute; left: 0; top: 0; color: var(--gray-600);}
.hotel-room-card-price {display: flex; flex-direction: column; align-items: flex-end; gap: var(--spacing-8); margin-top:-.4rem;}
.hotel-room-card-price-row {display: flex; align-items: flex-end; gap: var(--spacing-4);}
.hotel-room-card-price-row.sub {align-items: center;}
.hotel-room-card-list {display: flex; flex-direction: column; gap: var(--spacing-8);}
.hotel-room-card[hidden],
.hotel-room-card.is-hidden-card {display: none !important;}
.hotel-room-card input[type="radio"] {display: none;}
.hotel-room-card:has(input[type="radio"]) {flex-direction: row; align-items: flex-start; cursor: pointer;}
.hotel-room-card:has(input[type="radio"]) .radio-box {--size: 1.6rem; flex-shrink: 0; margin-top: .2rem; margin-right: 0;}
.hotel-room-card input[type="radio"]:checked + .radio-box {background-image: url('../../../images/common/radio_on_ou.svg');}
.hotel-room-card:has(input[type="radio"]:checked) {border-width: 1.5px; border-color: var(--gray-900); background-color: var(--gray-50);}
.hotel-room-card-cont {flex: 1; display: flex; flex-direction: column; gap: var(--spacing-8);}
.hotel-room-card.no-detail {pointer-events: none;}
.hotel-room-card.no-detail .hotel-info-ic{display: none;}
.layer-hotel-select-wrap .hotel-room-card + .hotel-room-card {margin-top: var(--spacing-12);}
.layer-hotel-select-wrap .section-cont {padding-bottom: 8.8rem;}
.layer-option .section-cont {padding-bottom: 13rem;}

/* 일정표 내 숙소 */
.sche-hotel {background-color: var(--white); position: relative;}
.sche-hotel + .sche-hotel {margin-top: var(--spacing-10);}
.sche-hotel-head {display: flex; padding: var(--spacing-10) .2rem; border-top: 1px solid var(--gray-300);}
.sche-hotel-label {width: 4rem; flex-shrink: 0;}
.sche-hotel-cont {display: flex; flex-direction: column; gap: var(--spacing-4); flex: 1 1 0; min-width: 0; align-items: flex-start;}
.sche-hotel-cont > p,
.sche-hotel-cont > dl {align-self: stretch;}
.sche-hotel-cont > dl {display: flex; align-items: center; gap: var(--spacing-8);}
.sche-hotel-cont > dl dt {flex-shrink: 0;}
.sche-hotel-cont > dl dd {flex: 1 1 0; min-width: 0;}
.sche-hotel-badge {display: inline-flex; padding: var(--spacing-4); border-radius: 0.4rem; background: var(--gray-100);}
.sche-hotel-list {padding: var(--spacing-10) var(--spacing-16); background: var(--neutral-100); border-radius: 0.4rem; list-style: none; margin: 0;}
.sche-hotel-item {display: flex; align-items: center; gap: var(--spacing-8); height: 2.4rem;}
.sche-hotel-item-name {flex: 1 1 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.sche-hotel-item-link {display: inline-flex; align-items: center; padding: 0 0 0 var(--spacing-8); flex-shrink: 0;}
.sche-hotel-item .hotel-info-ic {background-position: -148px -48px;}
.hotel-map-area {width: 100%; height: 21rem; background: var(--neutral-100); margin-top: var(--spacing-12);}
.hotel-etc-notice {padding:1.6rem; background: var(--neutral-100); margin:0 -1.6rem -1.6rem}
.layer-cont-unit {margin: 0 -1.6rem;}
.layer-cont-unit::before {content: ''; display: block; width: 100%; height: 1.2rem; background: var(--neutral-100);}
.layer-cont-unit-box {padding: 0 1.6rem 1.2rem;}
.layer-cont-unit-header {padding: 1.2rem 1.6rem;}
.layer-cont-unit.none-border:before { display:none; }

/* option 선택 레이어 - 인원 스테퍼 */
.option-pax-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--spacing-24); }
.option-pax-item { display: flex; align-items: center; gap: 0.8rem; }
.option-pax-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.6rem; }
.option-pax-label { display: flex; align-items: center; gap: 0.4rem; }
.option-pax-stepper { display: flex; align-items: center; flex-shrink: 0; }
.stepper-btn { display: flex; align-items: center; justify-content: center; width: 4rem; height: 4rem; background: var(--white); border-radius: var(--radius-8); padding: 0; cursor: pointer; color: var(--gray-900);  border:none; box-shadow: 0 0 0 1px var(--gray-300);}
.stepper-btn:disabled { opacity: 0.32; cursor: not-allowed; pointer-events: none; }
.stepper-val { display: flex; align-items: center; justify-content: center; width: 4rem; padding: 0 0.4rem; }
.ic-stp-minus {display: block; width: 1.6rem; height: 1.6rem; background: url('../../images/common/ic_stp_minus_2_gy9_ou.svg') no-repeat center; background-size: contain;}
.ic-stp-plus {display: block; width: 1.6rem; height: 1.6rem; background: url('../../images/common/ic_stp_plus_2_gy9_ou.svg') no-repeat center; background-size: contain;}
.layer-cont-unit .layer-cont-unit-header:only-child{padding-bottom: 1.6rem}

/* 상품 비주얼 이미지 슬라이드 */
.prd-visual-wrap{position: relative;}
.prd-visual-wrap .prd-event-code{position: absolute; top:1.6rem; left: 1.6rem; z-index: 1; display: flex; gap: 0.4rem;}
/* .prd-visual-wrap .prd-event-code span{text-shadow: 0 0 10px rgba(0, 0, 0, 0.60); -webkit-touch-callout: none;}
.prd-visual-wrap .prd-event-code span a{color:#fff !important;} */
.prd-visual-wrap .prd-event-code span{color: #fff; -webkit-text-fill-color: #fff; text-shadow: 0 0 10px rgba(0, 0, 0, 0.60); -webkit-touch-callout: none;}
.prd-visual-wrap .prd-event-code a,
.prd-visual-wrap .prd-event-code a[x-apple-data-detectors]{color: inherit !important; -webkit-text-fill-color: inherit !important; text-decoration: none !important;
}
.layer-scroll-box .prd-visual-slide-wrap {margin:0 -1.6rem; background-color: #f5f5f5;}
.prd-visual-slide {position: relative; width: 100%; height: 24.5rem; overflow: hidden;}
.prd-visual-slide .swiper-wrapper,
.prd-visual-slide .swiper-slide {width: 100%; height: 100%;}
.prd-visual-slide .swiper-slide img {display: block; width: 100%; height: 100%; object-fit: cover; object-position: center;}
.hotel-visual-slide-prev,
.hotel-visual-slide-next {position: absolute; top: 50%; z-index: 2; display: flex; align-items: center; justify-content: center; width: 4rem; height:4rem; margin: 0; padding: 0; border: none; border-radius: 50%; background: rgba(44, 50, 66, 0.5); transform: translateY(-50%); cursor: pointer;}
.hotel-visual-slide-prev {left: var(--spacing-16);}
.hotel-visual-slide-next {right: var(--spacing-16);}
.hotel-visual-slide-prev.swiper-button-disabled,
.hotel-visual-slide-next.swiper-button-disabled {opacity: 0.35; cursor: default;}
.hotel-visual-slide-pagination.swiper-pagination-fraction {position: absolute; left: 50%; bottom: var(--spacing-10); z-index: 2; display: flex; align-items: center; justify-content: center; width: auto; height: 2rem; padding: 0 var(--spacing-8); border-radius: 0.8rem; background-color: rgba(0, 0, 0, 0.8); font-size: 1.2rem; color:var(--gray-400); text-transform: none;transform: translateX(-50%); font-weight: 400;  font-family: 'Pretendard', sans-serif;}
.hotel-visual-slide-pagination .swiper-pagination-current {padding: 0 0.2rem; font-size: var(--font-size-2xs); font-weight: var(--font-weight-bold); line-height: var(--line-height-100); color: var(--white);}
.hotel-visual-slide-pagination .swiper-pagination-total {padding: 0 0.2rem; font-size: var(--font-size-2xs); font-weight: var(--font-weight-regular); line-height: var(--line-height-100); color: var(--gray-400);}
.prd-visual-slide.is-single-slide .hotel-visual-slide-prev,
.prd-visual-slide.is-single-slide .hotel-visual-slide-next {display: none;}

/* prd-sum - 행사상세 상품요약 */
.prd-sum {display: flex; flex-direction: column; background-color: var(--white); padding-top: 1.4rem;}
.prd-sum-head {display: flex; flex-direction: column; gap: var(--spacing-6);}
.prd-tags-wrap {display: flex; align-items: flex-start; justify-content: space-between; gap: var(--spacing-8); position: relative; min-height: 20px;}
.prd-sum-tags {display: flex; flex-wrap: wrap; gap: var(--spacing-4); flex: 1; min-width: 0; position: relative;}
.prd-sum-tag {flex-shrink: 0;}
.prd-sum-like {flex-shrink: 0; margin: 0; padding: 0;}
.prd-sum-like.btn_img.like1 {width: 2.4rem; height: 2.4rem; padding: 0;}
.prd-sum-like.btn_img.like1 input + em {padding-left: 0; height: 2.4rem;}
.prd-sum-like.btn_img.like1 input + em:before {width: 2.4rem; height: 2.4rem;}
.prd-sum-title {display: block; width: 100%; margin: 0; font-style: normal; word-break: break-all;}
.prd-sum-title.heading-sm-b.txt-ellipsis.line-2 {max-height: 5.2rem;}
.prd-sum-meta {display: flex; flex-wrap: wrap; align-items: center; gap: var(--spacing-4); margin-top: 0.8rem;}
.prd-sum-meta-item {display: inline-flex; align-items: center;}
.prd-sum-meta-ic {display: inline-flex; flex-shrink: 0; width: 1.8rem; height: 1.8rem; background-repeat: no-repeat; background-position: center; background-size: contain;}
.prd-sum-meta-ic[data-type="period"] {background-image: url("../../images/common/ic_calendar_gy7_ou.svg");}
.prd-sum-meta-ic[data-type="depart"] {background-image: url("../../images/common/ic_location_gy7_ou.svg");}
.prd-sum-seat {display: flex; flex-wrap: wrap; margin-top: 0.4rem; gap: var(--spacing-4) var(--spacing-8); position: relative;}
.prd-sum-seat-info {display: inline-flex; align-items: center; gap: var(--spacing-2);}
.prd-sum-seat-info .info-tooltip-wrapper{position:static}
.prd-sum-seat-info .info-tooltip-box{left:50%; right:auto; transform:translateX(-50%); width:90vw; max-width:90vw; box-sizing:border-box;}
.prd-sum-seat-info .info-tooltip-icon img{width: 100%; height: 100%;}
.prd-sum-seat-info .info-tooltip-box .info-tooltip-txt{min-width:0;}
.prd-sum-info-btn {display: inline-flex; width: 1.8rem; height: 1.8rem; align-items: center; justify-content: center; margin: 0; padding: 0; border: 0; background: transparent; cursor: pointer;}
.prd-sum-info-btn .info-tooltip-icon {display: block; width: 1.8rem; height: 1.8rem;}
.prd-sum-price {display: flex; flex-direction: column; gap: var(--spacing-8); margin-top: 1.2rem;}
.prd-sum-price-cont {display: flex; flex-direction: column; gap: var(--spacing-4); flex: 1; min-width: 0;}
.prd-sum-benefit{margin-top: 0.2rem;}
.prd-sum-origin {display: block; text-decoration: line-through;}
.prd-sum-price-row {display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--spacing-4);}
.prd-sum-price-num {display: inline;}
.prd-sum-price-unit {display: inline;}
.prd-sum-benefit {margin: 0;}
.prd-sum-coupon {display: inline-flex; align-items: center; justify-content: center; gap: var(--spacing-4); flex-shrink: 0; min-width: 9.6rem; height: 4rem; padding: 0 var(--spacing-12); border: var(--border-1) solid var(--gray-300); border-radius: var(--radius-8); background-color: var(--white); color: var(--gray-900); cursor: pointer;}
.prd-sum-coupon .ico_set {flex-shrink: 0;}

/* option 선택 레이어 - 룸/항목 선택 버튼 */
.option-select-btn { display: flex; align-items: center; justify-content: space-between; width: 100%; height: 5.6rem; padding: 0 var(--spacing-16); gap: var(--spacing-8); background: var(--white); cursor: pointer; }
/* .layer-option .option-select-btn {border:none;  box-shadow: 0 0 0 1px var(--gray-300);;} */
.option-select-btn [class*="ic-"] { display: block; flex-shrink: 0; }
.option-select-btn-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.option-select-btn-status { display: flex; align-items: center;  }
.option-select-btn.disabled {cursor: not-allowed; pointer-events: none; }
.option-select-btn.disabled .ic-arrow-right {opacity: 0.4;}

/* auto-height 레이어 - 콘텐츠 잘림 방지 */
.top-round-popup.auto-height .section-cont {flex: none; overflow-y: visible;}
.top-round-popup.auto-height .btm-quick-menu {position: relative; bottom: auto; left: auto; right: auto; transform: translateZ(0); backface-visibility: hidden; will-change: transform; transition: none;z-index: initial; background-color: transparent;}
.top-round-popup.auto-height .btm-quick-menu .btn-group {padding-left:0; padding-right:0;}


/* 모바일 투어 상세 - 상품정보 */
.trip-info-wrap {display:flex; flex-direction:column; gap:2rem; width:100%; background-color:var(--white, #fff);}
.trip-info-card {display:flex; flex-direction:column; gap:0.4rem; width:100%; padding:0; border:0; border-radius:0; background-color:transparent;}
.trip-info-card > .header-card {display:inline-flex; gap:0.8rem; align-items:center; align-self:stretch; min-height:2.8rem; padding:0;}
.trip-info-card > .header-card .header-card-txt {flex:1 1 0; min-width:0; font-size:1.6rem; line-height:1.4;}
.trip-info-card > .header-card .header-card-func {flex-shrink:0;}
.trip-info-card > .header-card .btn-base.border-btn-low {min-width:auto; height:auto; padding:0.4rem 0 0.4rem 0.8rem; border:0; background:transparent;}
.trip-summary-list {display:flex; flex-direction:column; flex-wrap:wrap; margin:0; padding:0; list-style:none;}
.trip-summary-item {display:flex; gap:1.6rem; padding:0.8rem 0; width:100%; flex-shrink: 0;}
.trip-summary-item .trip-summary-icon {width: 4.8rem; height: 4.8rem; position: relative; border-radius: 50%;}
.trip-summary-item .trip-summary-icon i {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display:block; width:2.4rem; height:2.4rem; background-color: var(--red-300);}
/* .trip-summary-item .trip-summary-icon i[class*="ico-transport"] {background-image:url('../../images/common/ic_transport_gy5_ou.svg');}
.trip-summary-item .trip-summary-icon i[class*="ico-hotel"] {background-image:url('../../images/common/ic_hotel_gy5_ou.svg');}
.trip-summary-item .trip-summary-icon i[class*="ico-meal"] {background-image:url('../../images/common/ic_meal_gy5_ou.svg');}
.trip-summary-item .trip-summary-icon i[class*="ico-city"] {background-image:url('../../images/common/ic_city_gy5_ou.svg');} */
.trip-summary-content {flex:1 1 0; min-width:0;}
.trip-summary-label {flex:none; min-width:0; line-height:1.4;}
.trip-summary-desc {margin:0; word-wrap:break-word;}
.trip-info-card.round_box2.trip-info-card {padding:0; border:0; border-radius:0;}
.trip-info-card.round_box2 br {display:none;}
.trip-info-card.round_box2 > dl {display:grid; grid-template-columns:4.8rem 1fr; column-gap:1.6rem; row-gap:0; padding:0.8rem 0; margin:0; border:0; position:relative;}
.trip-info-card.round_box2 > dl:first-of-type {margin-top:0;}
.trip-info-card.round_box2 > dl + dl {margin-top:0; border-top:0;}
.trip-info-card.round_box2 > dl[class^='ico'] > * {padding-left:0;}
.trip-info-card.round_box2 > dl dt {grid-column:2; margin:0; font-size:var(--font-size-sm); line-height:var(--line-height-140);}
.trip-info-card.round_box2 > dl dd {grid-column:2; display:block; margin:0; font-family:var(--font-family); font-weight:var(--font-weight-regular); font-size:var(--font-size-sm); line-height:var(--line-height-160); letter-spacing:inherit;}
.trip-info-card.round_box2 > dl dt + dd {margin-top:0;}
.trip-info-card.round_box2 > dl dd + dd {margin-top:0.2rem;}
.trip-info-card.round_box2 [class^='ico']:before {top:0.8rem; margin-top:0; left:0; width:4.8rem; height:4.8rem; background:var(--gray-100); border-radius:50%;}
.trip-info-card.round_box2 [class^='ico']:after {top:2rem; margin-top:0; left:1.2rem; width:2.4rem; height:2.4rem; background: url('../../images/common/img_tour_prodsum.svg') no-repeat 0 0;}
.trip-info-card.round_box2 [class^='ico'].ico1:after {background-position:-12px -12px;}
.trip-info-card.round_box2 [class^='ico'].ico2:after {background-position:-62px -12px}
.trip-info-card.round_box2 [class^='ico'].ico3:after {background-position:-112px -12px;}
.trip-info-card.round_box2 [class^='ico'].ico4:after {background-position:-162px -12px;}
.trip-info-card.round_box2 [class^='ico'].ico5:after {background-position:-212px -12px;}
.trip-info-card.round_box2 [class^='ico'].ico6:after {background-position:-262px -12px;}
.trip-info-card.round_box2 [class^='ico'].ico7:after {background-position:-312px -12px;}
.trip-include-wrap {display:flex; flex-wrap:wrap; gap:1.6rem; align-self:stretch;}
.trip-include-box {display:inline-flex; flex-direction:column; gap:0.4rem; width:100%; padding:1.2rem; border-radius:0.8rem;}
.trip-include-box .trip-bullet-list {margin-top:0;}
.trip-include-wrap .trip-include-box:first-child {background-color:#eef5ff;}
.trip-include-wrap .trip-include-box:first-child > strong {color:var(--blue-500, #2970ff);}
.trip-include-wrap .trip-include-box:last-child {background-color:#fef2f2;}
.trip-include-wrap .trip-include-box:last-child > strong {color:var(--red-500, #fb2c36);}
.trip-info-card .table-row {margin-top:0; gap:0.2rem 0;}
.trip-info-card .table-row-tit,
.trip-info-card .table-row-cont {min-height:2.6rem; padding:0.2rem 0; align-items:center;}
.trip-info-card .table-row-cont-txt {word-wrap:break-word;}
/* 메일보내기 레이어 */
.layer-share-mail .layer_type{position:static!important;}
.layer-share-mail [class*="layer_"] .ly_con.t1 {padding:0;}
/* 쿠폰 다운로드 */
[data-popup="layer-coupon-down"].layer-coupon-down {height:calc(var(--vh, 1vh) * 100)!important; max-height:calc(var(--vh, 1vh) * 100)!important; min-height:calc(var(--vh, 1vh) * 100)!important; border-radius:0;}
.layer-coupon-down > header {flex-shrink:0; background:var(--white, #fff);}
.layer-coupon-down .section-cont {flex:1 1 auto; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; display:flex; flex-direction:column; gap:var(--spacing-16); padding:0 var(--spacing-16) var(--spacing-16);}
.layer-coupon-down .coupon-down-list {display:flex; flex-direction:column; gap:var(--spacing-12); margin:0; padding:0; list-style:none;}
.layer-coupon-down .wrapper_01 {display:flex; flex-direction:column; gap:var(--spacing-4);}
.layer-coupon-down .header_list {display:inline-flex; align-items:center; align-self:stretch; min-height:2.8rem;}
.layer-coupon-down .title_01 {margin:0;}
.layer-coupon-down .coupon-down-item {display:inline-flex; gap:var(--spacing-20); align-items:center; width:100%; padding:var(--spacing-16); background:var(--white, #fff); border:var(--border-1) solid var(--gray-300, #d1d5dc); border-radius:var(--radius-8);}
.layer-coupon-down .coupon-down-body {display:inline-flex; flex-direction:column; gap:var(--spacing-8); flex:1 1 0; min-width:0;}
.layer-coupon-down .coupon-down-txt {display:block; min-width:0;}
.layer-coupon-down .sub-text {display:flex; flex-direction:column;}
.layer-coupon-down .right-acc {display:inline-flex; flex-direction:column; gap:var(--spacing-8); justify-content:center; align-items:center; align-self:stretch; width:4rem; flex-shrink:0;}
.layer-coupon-down .btn-down-area {display:flex; justify-content:flex-end; align-items:center; align-self:stretch; width:4rem; flex-shrink:0;}
.layer-coupon-down .right-acc i.icon-check {display:block; width:2rem; height:2rem; flex-shrink:0; background:url('../../images/common/ic_check.svg') no-repeat center / contain; background-size: 25rem auto; background-position: -2px -48px;}
.layer-coupon-down .btn-down-area i.icon-download{display:block; width:2rem; height:2rem; flex-shrink:0; background:url('../../images/common/ic_download_ou.svg') no-repeat center / contain;}
.layer-coupon-down span {white-space:nowrap;}
.layer-coupon-down .down-icon {display:flex; padding:var(--spacing-10); justify-content:center; align-items:center; flex-shrink:0; background:var(--white, #fff); border:var(--border-1) solid var(--gray-200, #e5e7eb); border-radius:var(--radius-full); overflow:hidden;}
.layer-coupon-down .down-icon button {display:flex; padding:0; margin:0; border:0; background:transparent; cursor:pointer;}
.layer-coupon-down .coupon-down-item.is-unavailable {opacity:0.5;}
.layer-coupon-down .coupon-down-item.is-unavailable .down-icon button {cursor:not-allowed;}
.layer-coupon-down .buttongroup {flex-shrink:0; padding:var(--spacing-16) var(--spacing-16) var(--spacing-24);}
.layer-coupon-down .buttongroup .btn-base {width:100%; min-height:4.8rem;}
#passenger-info-section-mo {scroll-margin-top:5.6rem;}
.text-underline {text-decoration: underline;}

/* ====================================
   ✅ 결제혜택 안내 박스 (.pay-benefit-box)
==================================== */
.pay-benefit-box .pay-benefit-inner {padding: 1.2rem; border-radius: var(--radius-8);}
.pay-benefit-list {margin-top: 0.4rem;}
.pay-benefit-list > li:only-child::before {display: none;}
.pay-benefit-item + .pay-benefit-item {margin-top: 0.8rem;}
.pay-benefit-item-tit {display: flex; align-items: center; gap: 0.4rem;}
.pay-benefit-item-detail {margin-top: 0.4rem;}
.pay-benefit-item-detail ul + ul {margin-top: 0.6rem;}
/* layer-payment 내 박스: 첫 번째 아이템만 노출, 나머지 숨김 */
.pay-benefit-box .pay-benefit-item:not(:first-child) {display: none;}
/* 더보기 버튼 */
.pay-benefit-box .pay-benefit-more-btn {width: 100%; height: 3.2rem; display: inline-flex; align-items: center; justify-content: center; gap: 0.2rem; margin-top: 0.8rem;}
.pay-benefit-more-btn-ic {display: block; width: 1.6rem; height: 1.6rem; flex-shrink: 0; background: url('../../images/common/ic_arrow_down.svg') no-repeat 50% 50%; background-position: -148px 0;}
/* layer-pay-benefit 내 아이템: pay-benefit-inner와 동일한 배경·radius·padding */
[data-popup="layer-pay-benefit"] .pay-benefit-item {background-color: var(--neutral-100, #F4F4F4); border-radius: var(--radius-8); padding: 1.6rem;}
[data-popup="layer-pay-benefit"] .pay-benefit-item + .pay-benefit-item {margin-top: 1.2rem;}

/* 마이페이지 > 나의 후기 레이어 */
.confirm-layer-box[data-popup=layer-review-view]{max-height: 70vh;}
.confirm-layer-box[data-popup=layer-review-view] header{position: relative; margin: 0 1.5rem 2rem; text-align: left; padding-bottom: 2rem; border-bottom: 1px solid #dee0e2;}    
.confirm-layer-box[data-popup=layer-review-view] header button[data-popup-close]{width: 1.6rem; height: 1.6rem; top: 0; right: 0; background-position: -74px -2px;}
.confirm-layer-box[data-popup=layer-review-view] .ly_con{overscroll-behavior: contain; padding: 0 1.5rem 2rem; font-size: 1.2rem; letter-spacing: -0.03rem;}