.imp-dialog {
  position:fixed!important;
}

.payment_vat_tooltipBox {
  margin-top: 20px;
}
.payment_vat_tooltipBox strong {
  font-size:12px;
  font-weight:700;
}
.payment_vat_tooltipBox span {
  font-size:12px;
  font-weight: 700;
  color: #DC362E;
}
.payment_vat_tooltipBox span.firstTimeEvent {
  font-size:11px;
  font-weight: 500;
  background-color:#EAF3FF;
  color: #4D95FE;
  font-weight:600;
  padding:5px;
  height:18px;
  max-height:18px;
  min-height: 18px;
  display: inline-flex;
  align-items: center;
  line-height: 1.2;
  border-radius: 4px;
}
.payment_vat_tooltipBox .add_point strong {
  color: #787878;
}
.add_point_always strong {
  color: #787878;
}
div.payment_vat_tooltipBox #add_point_always ,
div.payment_vat_tooltipBox #add_point_firstTime {
  color: #608AFF
}
.payment_vat_tooltipBox li {
  display:flex;
  justify-content:space-between;
  align-items: center;
  line-height: 1.5;
  padding: 0 10px;
  max-height:18px;
}
.payment_vat_tooltipBox ul {
  display:flex;
  flex-direction:column;
  gap:4px;
}

#payment div.paymentDescription {
  margin-top:10px;
}
.add_point_firstTime strong {
  color:#608AFF;
}
li.origin_point strong {
  color: #787878;
  display: flex;
  align-items: center;
}
#addfunds div.wrapper #payment li.origin_point strong small {
  display: flex;
  font-size: 10px;
  font-weight: 700;
  color: #787878;
  margin-left: 2px;
}
li.add_point_always, li.add_point_firstTime {display:none;}
li.add_point_always.active, li.add_point_firstTime.active {display:flex;}

#payment div.paymentButton.disabled p {
  color: #fff;
  opacity:0.6;
  font-weight: 500;
  font-size: 16px;
}
#payment div.paymentButton.disabled {
  background-color:#A1A9B7;
  color: initial;
}
#payment div.paymentButton p, #payment div.paymentButton b {
  font-size:16px;
  color:#fff;
  font-weight:600;
}
#payment div.paymentButton.disabled b {
  opacity:0.6;
}

#payment .promotion_tooltip_box {
  left:90px;
}
#payment .promotion_tooltip b {
  font-weight:600;

}
#payment-success div.successWrap div.succesContentsTop dl dd.paymentPriceBoxTest {
  font-size: 20px;
  font-weight: 700;
  color: #1a1a1a;
}
div#tossPayModal .tossPayModalContents img {
  height: 102px;
}
@media (max-width:768px){
  div#tossPayModal .tossPayModalContents img {
    height: 80px;
    width: auto;
  }
}
@media (max-width:320px){
  div#tossPayModal .tossPayModalContents img {
    height:50px;
  }
  div#tossPayModal .tossModalDescription p {
    font-size:5vw;
  }
}
.default {
  background:#fff!important;
  background-color:#fff!important;
}
.priceButton.recommended {
  position: relative;
}

.best-tag {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #4D95FE;
  color: white;
  font-size: 12px;
  font-weight: bold;
  padding: 2px 8px;
  border-radius: 10px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.best-tag i {
  font-size: 10px;
  color: white;
}

.payment_container {
  max-width: 100%;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.payment_section,
.point_section {
  margin-top: 20px;
  border-radius: 10px;
  padding: 15px;
  margin-bottom: 16px;
}

.payment_section {
  background-color: #fff;
  border:1px solid #C5C5C8;
}

.point_section {
  background-color: #F3F5F7;
}

.main_row {
  display: flex;
  justify-content: space-between;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid #C5C5C8;
  font-size: 18px;
}

.sub_details {
}

.sub_row,
.benefit_row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  color: #555;
  font-size: 14px;
}
@media (max-width:768px){
  .sub_row, .benefit_row {
    font-size:12px;
  }
}

.section_label {
  font-weight: 700;
  font-size: 20px;
}
@media (max-width:768px){
  .section_label {
    font-size: 16px;
  }
}
.sub_label {
  color: #787878;
  font-weight: 700;
}

.total_value {
  font-weight: 700;
  font-size: 20px;
  color:#0068FE;
}
@media (max-width:768px){
  .total_value {
    font-size: 16px;
  }
}
#total_payment_amount {
  color:#0068FE;
}

.blue, .blue * {
  color: #1A1A1A;
  font-weight: 700;
}

.benefit_label {
  display: flex;
  align-items: center;
  gap: 6px;
}
.benefit_label i, .benefit_label span:not(.event_badge) {
  color: #4D95FE;
  font-weight: 700;
}
.benefit_label i {
  font-weight:500;
}

.benefit_value {
  display: flex;
  align-items: center;
  gap: 4px;
}

.percent {
  font-weight: 700;
}

.event_badge {
  background-color: #4D95FE;
  color: white;
  font-size: 11px;
  padding: 2px 6px;
  margin-left: 4px;
  height: 18px;
  border-radius: 4px;
  font-weight: 600;
}

.notice_row {
  font-size: 12px;
  color: #ff6b6b;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
}
.notice_row span {
  color:#787878;
  font-weight: 600;
}
.paymentButton {
  text-align: center;
  display: flex;
  flex-direction: column;
  background-color: #608aff;
  color: white;
  border-radius: 8px;
  padding: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 700;
}

.paymentButton.disabled {
  background-color: #ced4da;
  cursor: not-allowed;
}
/* 이벤트 팝업 스타일 */
.event-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.event-popup-content {
  width: 100%;
  max-width: 400px;
  background-color: white;
  overflow: hidden;
}

.event-banner img {
  width: 100%;
  display: block;
}

.event-message {
  padding: 15px;
  text-align: center;
  font-size: 15pt;
  font-family: 'Pretendard SemiBold', sans-serif;
}

.event-buttons {
  display: flex;
  padding: 0 0 15px;
}

.event-btn {
  font-family: 'Pretendard Bold', sans-serif;
  font-size: 14pt;
  padding: 12px 0;
  border-radius: 8px;
  border: 1px solid black;
  cursor: pointer;
  margin: 0 10px;
}

.event-btn-white {
  background-color: white;
  color: #000;
  flex: 0.7;
}
.sub_row span {
  color:#787878;
  font-weight:700;
}
.event-btn-black {
  background-color: black;
  color: white;
  flex: 1;
}
.benefit_value span {
  color:#4D95FE;
}
#payment div.priceButtonWrapper div.priceButton {
  color: #253858;
  font-weight: 700;
}
@media (max-width:300px){
  #payment div.priceButtonWrapper div.priceButton {
    font-size: 4.4vw !important;
  }
}

     #payment div.priceDescriptionColumn p {
    color:#A2A3A6;
    font-weight:500;
  }
#addfunds section.bottomSection div.contentsBox div.methodWrapper p.methodName{
    color:#253858;
  }
   .priceBoxInput {
    color: #1A1A1A;
  }



.couponStoredWrapper {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}

.couponFlexWrapper {
  display: flex;
  flex-direction: column;
}
.couponStoredWrapper .couponButton {
background-color: #A1A9B7;
width: 117px;
padding: 0;
height: 40px;
color: #fff;
border-radius: 5px;
font-size: 16px;
font-weight: 600;
line-height: 1.5;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
box-shadow:none;
}
.couponStoredWrapper .couponButton i {
  color:#fff;
}

p.couponStored {
  color:  #4D95FE;
font-size: 14px;
font-weight: 600;
}
p.couponStored > b.StoredCount {
color:  #4D95FE;
font-size: 14px;
font-weight: 600;
}
.coupon-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  background: #FFF;
  width: 368px;
  height: 534px;
  border-radius: 12px 12px 0 0;
}
.coupon-content strong {
padding:20px;
}
.coupon-stored-button {
position: fixed;
bottom: 0;
width: 100%;
padding: 20px;
background-color: #fff;
}
.coupon-stored-select-grid {
height: 360px;
overflow-y: auto;
margin-top: 20px;
padding-left:14px;
}
.couponStoredModal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.60);
  z-index: 999;
display:none;
}
.couponStoredModal.active {
  display:flex;
} 

/* 모달 */
.couponWrapper {
  position: relative;
  width: 330px;
  height: 152px;
  margin-bottom: 16px;
}
.couponBgSvg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}
.couponTicket {
  position: relative;
  z-index: 1;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  height: 100%;
}
.couponText {
  display: flex;
  flex-direction: column;
  gap: 0;
  justify-content: space-between;
  height: 100%;
}

.couponText .title {
color: #000;
font-size: 18px;
font-weight: 700;
}


.couponText .condition {
font-size: 11px;
font-weight:500;
color: #1A1A1A;
}

.couponText .expire {
font-size: 11px;
font-weight:500;
color: #A2A3A6
}

.couponMeta {
text-align: right;
display: flex;
flex-direction: column;
justify-content: space-between;
min-width: 70px;
margin-left: 12px;
}



.ticketSvg {
position: absolute;
right: 0;
top: 0;
height: 100%;
z-index: 1;
}




.couponWrapper.selected {

}

.couponWrapper.dimmed {
opacity: 0.5;
filter: grayscale(0.3);
}

.couponTicket {
display: flex;
justify-content: space-between;
align-items: flex-start;
padding: 20px;
position: relative;
cursor: pointer;
}


.couponText {
display: flex;
flex-direction: column;
gap: 4px;
}



.couponText .amount {
font-size: 18px;
font-weight: 500;
color: #4D95FE
}
.couponText .amount> b {
color: #4D95FE;
font-size: 30px;
font-weight:700;
}
.couponText .condition {
font-size: 12px;
color: #666;
}

.couponText .expire {
font-size: 12px;
color: #aaa;
}

.couponMeta {
text-align: right;
min-width: 60px;
margin-left: 12px;
}

.couponMeta .dDay {
font-size: 12px;
color: #A1A9B7;
font-weight:600;
}

.ticketSvg {
position: absolute;
right: 0;
top: 8px;
height: calc(100% - 16px);
z-index: 1;
}
.coupon-select-button {
  border-radius: 8px;
  height: 48px;
  padding: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
}
button.coupon-select-button.active {
  background-color: #253858;
  color: #fff;
}
.coupon-select-button[disabled] {
background-color:#A1A9B7;
color:#ddd;
  pointer-events:none;
}
  .coupon-title {
  height:62px;
  display:flex;
  justify-content:center;
  align-items:center;
}
.coupon-title .title {
  color:#1A1A1A;
  font-size:16px;
  font-weight:700;
}
.coupon-title i {
  position:absolute;
  top:18px;
  right:18px;
  font-size:24px;
  color: #1A1A1A;
  font-weight: 400;
  cursor: pointer;
}
.checkIconGrid {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  padding-right:10px;
}
.couponWrapper.selected .checkIconBox  {
  background-color:#253858
}
.couponWrapper.selected i {
  color:#fff;
}
.checkIconBox {
  border: 1px solid #ddd;
  border-radius: 100%;
  background-color:#fff;
}

.couponWrapper.selected .checkIcon {
opacity:1;
}
.checkIcon {
  position: relative;
  top: initial;
  left: initial;
  width: 18px;
  height: 18px;
  opacity: 0;
}

.checkIcon i.fa-solid.fa-check {
color:#fff;
  font-size: 14px;
  position: absolute;
  top: 3px;
  left: 2px;
}
.couponWrapper.selected .couponBgSvg path{
  stroke:#253858
}
@media (max-width:500px){
  .coupon-stored-button {
  padding:0;
}
 
  .couponMeta {
    margin-left:0;
    min-width:50px;
  }
   button.coupon-select-button {
  border-radius:initial;
}
.coupon-select-button[disabled] {
background-color:#D7D7D7;;
color:#f5f5f5;
}

  #addfunds section div.contentsBox div.paymentWrapper p.title {
      font-size:14px;
  }
  #payment p.title_card {
      font-size:12px;
      line-height: 1;
  }
  p.couponStored {
      font-size:12px;
  }
  .couponStoredWrapper .couponButton {
      height:26px;
      width: 71px;
      font-size: 12px;
      gap: 5px;
  }
  .couponStoredWrapper {
      align-items:center;
  }
  .couponStoredWrapper .couponButton i {
      font-size:11px;
      line-height:1.5;
  }
  .coupon-content {
      bottom:0;
      top: initial;
      left: 0;
      transform: initial;
      width: 100%;
  }
  .couponWrapper {
      width:100%;
      height: 152px;
  }
  .couponTicket {
        justify-content: center;
  }
  .coupon-stored-select-grid {
    padding-right:14px;
  }
}
@media (max-width:350px){
  .couponWrapper {
    margin-bottom:0;
  }
}
@media (max-width:335px){
  .couponText .title {
    font-size:5vw;
  }
  .couponText .amount {
    font-size:4vw;
  }
  .couponText .amount> b {
    font-size:6vw;
  }
}
@media (max-width:300px){
  .couponWrapper {
  height: 140px;
  }
}

.couponTicket.disabled {
  opacity: 0.5;
}

.couponWrapper.disabled {
  pointer-events: none;
  opacity: 0.4;
}
.couponWrapper.disabled .couponText .condition {
  color:#f00;
}
@media (max-width:360px){
  .couponTicket {
    justify-content: space-between;
  }
}
div.coupon-stored-select-grid  .couponBox.none {   
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  align-items: center;
  }
div.coupon-stored-select-grid .couponBox.none img {
  width: 100px;
  height: auto;
}
div.coupon-stored-select-grid .couponBox.none p {
  font-size: 22px;
  color: #A2A3A6;
  font-weight: 400;
  padding-top: 50px;
}
@media (max-width:360px){
  div.coupon-stored-select-grid .couponBox.none img {
   width: 63px;
  }
  div.coupon-stored-select-grid .couponBox.none p  {
      padding-top: 30px;
      font-size: 16px;
    }
}