@charset "UTF-8";

/* Common page layout */
.page-content { min-height: 480px; }
.apply-form { margin-top: 60px; }
.cm-form-section + .cm-form-section { margin-top: 20px; }

/* Payment */
.payment-wrap { max-width: 1200px; }
.payment-wrap .cm-progress { width: 100%; max-width: 890px; margin: 0 auto; }
.payment-layout { display: grid; grid-template-columns: minmax(0, 751fr) minmax(320px, 429fr); gap: 20px; margin-top: 60px; }
.payment-form .cm-form-body { gap: 30px; }
.discount-body { display: flex; flex-direction: column; gap: 15px; }
.cm-help-info { display: flex; align-items: center; gap: 5px; color: var(--primitive-gray-500); font-size: 15px; font-weight: 500; line-height: 18px; }
.info-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 17px; height: 17px; border: 1px solid var(--primitive-gray-300); border-radius: 50%; font-size: 12px; font-weight: 400; line-height: 1; }
.cm-desc { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; font-size: 15px; line-height: 18px; color: var(--primitive-gray-500);}
.payment-method { padding: 70px; }
.payment-option { display: flex; align-items: center; gap: 13px; width: fit-content; cursor: pointer; }
.payment-card-icon { width: 24px; height: 24px; }
.payment-name { color: var(--primitive-white); font-size: 18px; font-weight: 700; line-height: 26px; }
.payment-mo-name { display: none; }
.payment-side { position: sticky; top: 119px; align-self: start; display: flex; flex-direction: column; gap: 21px; min-width: 0; }
.payment-summary { padding: 55px 40px 30px; border: 1px solid color-mix(in srgb, var(--primitive-white) 8%, transparent); border-radius: 20px; background: color-mix(in srgb, var(--primitive-white) 3%, transparent); }
.payment-title { font-size: 26px; font-weight: 700; line-height: 38px; }
.payment-prices { display: flex; flex-direction: column; gap: 16px; margin-top: 46px; }
.payment-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--primitive-gray-300); font-size: 18px; line-height: 26px; }
.payment-row strong { color: var(--primitive-white); font-weight: 700; white-space: nowrap; }
.payment-row.is-discount strong { color: var(--primitive-red-300); }
.payment-total { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 46px; padding-top: 20px; border-top: 1px solid color-mix(in srgb, var(--primitive-white) 12%, transparent); }
.payment-total-label { font-size: 22px; font-weight: 700; line-height: 32px; }
.payment-total-price { color: var(--primitive-blue-400); font-size: 26px; font-weight: 700; line-height: 38px; white-space: nowrap; }
.payment-side .is-hero { width: 100%; height: 72px; }

/* Completion */
.completion-content { display: flex; flex-direction: column; align-items: center; gap: 46px; width: 100%; padding: 15px 0; text-align: center; }
.completion-message { display: flex; flex-direction: column; align-items: center; gap: 23px; width: 609px; max-width: 100%; }
.completion-icon { width: 75px; height: 75px; }
.completion-title { color: var(--primitive-white); font-size: 29px; font-weight: 600; line-height: 1.47; }
.completion-desc { color: var(--primitive-gray-500); font-size: 18px; line-height: 1.47; }
.completion-desc strong { font-weight: 400; }
.completion-actions { display: flex; justify-content: center; width: 100%; }

/* History lookup */
.tit-info-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 26px; height: 26px; border: 1px solid var(--primitive-white); border-radius: 50%; color: var(--primitive-white); font-size: 18px; font-weight: 400; line-height: 1; }
.lookup-page .cm-form-note strong { font-weight: 700; }

/* History list */
.history-payment-section .cm-form-head { margin-bottom: 44px; padding-bottom: 0; border-bottom: 0; }
.history-list { display: flex; flex-direction: column; gap: 24px; }
.history-item { overflow: hidden; border: 1px solid color-mix(in srgb, var(--primitive-white) 8%, transparent); border-radius: 20px; background: color-mix(in srgb, var(--primitive-white) 3%, transparent); }
.history-item.is-selected { border: 1.5px solid var(--primitive-blue-400); }
.history-summary { display: flex; align-items: center; min-height: 145px; padding: 25px 40px; background: color-mix(in srgb, var(--primitive-white) 3%, transparent); }
.history-item.is-selected .history-summary { background: rgba(0, 109, 150, 0.21); }
.history-select-wrap { flex: 0 0 auto; margin-right: 20px; cursor: pointer; }
.history-toggle:disabled { cursor: not-allowed; }
.history-person { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.history-meta { display: flex; align-items: center; gap: 10px; }
.history-status { padding: 8px 16px; border-radius: 20px; color:  var(--primitive-gray-500); font-size: 16px; font-weight: 500; line-height: 1; background:rgba(255, 255,255, 0.1); }
.history-item.is-selected .history-status {color: var(--primitive-gray-200);background: #045d7e; }
.history-date { color: var(--primitive-gray-200); font-size: 16px; font-weight: 600; line-height: 23px; }
.history-name { color: var(--primitive-gray-100); font-size: 30px; font-weight: 700; line-height: 43px; }
.history-toggle { display: flex; align-items: center; gap: 6px; margin-left: auto; color: var(--primitive-gray-500); font-size: 16px; font-weight: 700; line-height: 23px; cursor: pointer; }
.history-toggle-mo { display: none; }
.history-toggle img { width: 17px; height: 17px; transition: transform 0.2s ease; }
.history-item.is-expanded .history-toggle img { transform: rotate(180deg); }
.history-detail { display: flex; flex-direction: column; gap: 35px; padding: 55px 40px 50px; border-top: 1px solid color-mix(in srgb, var(--primitive-white) 20%, transparent);}
.history-group-title { padding: 0 18px 18px; border-bottom: 1px solid color-mix(in srgb, var(--primitive-white) 5%, transparent); color: var(--primitive-blue-400); font-size: 16px; font-weight: 700; line-height: 23px; }
.history-info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
.history-info-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 54px; padding: 12px 18px; border-bottom: 1px solid color-mix(in srgb, var(--primitive-white) 5%, transparent); }
.history-info-row.is-wide { grid-column: 1 / -1; }
.history-info-row.is-last { border-bottom: 0; }
.history-info-row dt { color: var(--primitive-gray-500); font-size: 16px; line-height: 23px; }
.history-info-row dd { color: var(--primitive-gray-100); font-size: 17px; font-weight: 600; line-height: 25px; text-align: right; }
.history-total { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 25px 18px 0; border-top: 1px solid color-mix(in srgb, var(--primitive-white) 25%, transparent); }
.history-total-label { padding-top: 8px; color: var(--primitive-gray-500); font-size: 16px; font-weight: 600; line-height: 23px; }
.history-total-value { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.history-total-value strong { color: var(--primitive-gray-100); font-size: 30px; font-weight: 700; line-height: 43px; }
.history-total-value span { color: var(--primitive-red-300); font-size: 16px; line-height: 23px; }

/* Refund rules */
.history-refund-section { padding-top: 70px; padding-bottom: 70px; }
.history-refund-section .cm-form-head { margin-bottom: 25px; padding-bottom: 0; border-bottom: 0; }
.refund-rules { padding: 26px 20px; border-radius: 10px; background: rgba(0, 0, 0, 0.18);margin-bottom:8px; }
.refund-rule { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 43px; padding: 10px 0; color: var(--primitive-gray-100); font-size: 16px; line-height: 1.5; }
.refund-rule + .refund-rule { border-top: 1px solid rgba(255, 255,255, 0.1); }
.refund-rule dt { color: var(--primitive-gray-700); }
.refund-rule dd { font-weight: 300; }

/* Inquiry */
.inquiry-form { margin-top: 0; }
.inquiry-textarea-wrap { position: relative; }
.inquiry-textarea { height: 246px; min-height: 180px; padding-bottom: 46px; scrollbar-color: rgba(199, 206, 214, 0.35) transparent; scrollbar-width: thin; }
.inquiry-textarea::-webkit-scrollbar { width: 6px; }
.inquiry-textarea::-webkit-scrollbar-track { background: transparent; }
.inquiry-textarea::-webkit-scrollbar-thumb { border-radius: 6px; background: rgba(199, 206, 214, 0.35); }
.inquiry-textarea::-webkit-scrollbar-thumb:hover { background: rgba(199, 206, 214, 0.55); }
.inquiry-text-count { position: absolute; right: 18px; bottom: 16px; color: var(--primitive-gray-600); font-size: 14px; font-weight: 400; line-height: 20px; pointer-events: none; }
.cm-button.inquiry-submit { height: 72px; }

/* Cancel popup */
.cancel-popup-content { display: flex; flex-direction: column; gap: 20px; }
.cancel-popup-heading { color: var(--primitive-blue-400); font-size: 18px; font-weight: 700; line-height: normal; }
.cancel-popup-summary { display: flex; flex-direction: column; gap: 30px; padding: 25px; border: 1px solid rgba(255, 255, 255, 0.06); border-radius: 10px; background: rgba(255, 255, 255, 0.03); }
.cancel-popup-list { display: flex; flex-direction: column; gap: 16px; }
.cancel-popup-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 26px; }
.cancel-popup-row dt { color: var(--primitive-gray-600); font-size: 16px; line-height: 1.47; }
.cancel-popup-row dd { display: flex; align-items: flex-end; color: var(--primitive-gray-300);    flex-direction: column;font-size: 18px; line-height: 1.47; white-space: nowrap; }
.cancel-popup-total { padding-top: 15px; border-top: 1px solid rgba(255, 255, 255, 0.12); }
.cancel-popup-total dt { color: var(--primitive-white); font-size: 18px; font-weight: 700; }
.cancel-popup-total dd { color: var(--primitive-blue-400); font-size: 22px; font-weight: 700; }
.cancel-popup-action-mo { display: none; }
.sale-txt {color: var(--primitive-gray-600); font-size: 16px; }
/* Responsive: mobile */
@media screen and (max-width: 768px) {
  /* Mobile common layout */
  .apply-form { margin-top: 30px; }
  .cm-form-section + .cm-form-section { margin-top: 15px; }

  /* Mobile payment */
  .payment-wrap { max-width: 100%; }
  .payment-wrap .cm-progress { width: calc(100% + 32px); max-width: none; margin-left: -16px; }
  .payment-layout { grid-template-columns: minmax(0, 1fr); gap: 15px; margin-top: 30px; }
  .payment-form { padding: 29px 25px; }
  .discount-card, .payment-method { padding: 29px 19px; }
  .discount-card .cm-form-head, .payment-method .cm-form-head { margin-bottom: 16px; padding-bottom: 0; border-bottom: 0; }
  .payment-card-icon { display: none; }
  .payment-option { gap: 12px; }
  .payment-name { font-size: 15px; line-height: 19px; }
  .payment-pc-name { display: none; }
  .payment-mo-name { display: inline; }
  .payment-side { position: static; gap: 15px; }
  .payment-summary { padding: 35px 19px; border-radius: 15px; }
  .payment-title { font-size: 20px; line-height: 24px; }
  .payment-prices { gap: 16px; margin-top: 24px; }
  .payment-row { font-size: 14px; line-height: 18px; }
  .payment-total { margin-top: 16px; padding-top: 16px; }
  .payment-total-label { font-size: 16px; line-height: 20px; }
  .payment-total-price { font-size: 26px; line-height: 30px; }
  .payment-side .is-hero { height: 56px; min-height: 56px; padding: 15px 24px; font-size: 17px; }

  /* Mobile completion */
  .completion-page, .completion-page .cm-header, .lookup-page, .lookup-page .cm-header { background: #0b1a2e; }
  .completion-wrap .cm-progress { width: calc(100% + 32px); margin-left: -16px; }
  .completion-content { gap: 20px; padding: 16px 3px; }
  .completion-message { gap: 14px; width: 100%; }
  .completion-icon { width: 51px; height: 51px; }
  .completion-title { font-size: 24px; font-weight: 700; line-height: normal; }
  .completion-desc { font-size: 16px; line-height: 25px; letter-spacing: -0.48px; }
  .completion-desc strong { font-weight: 700; }
  .completion-actions { padding-top: 10px; }
  .completion-actions .cm-button { width: auto; max-width: 100%; height: 56px; padding: 15px 57px; border-radius: 28px; font-size: 17px; line-height: 26px; white-space: nowrap; }

  /* Mobile history lookup */
  .lookup-page .cm-form-head { margin-bottom: 20px; padding-bottom: 20px; }
  .tit-info-icon { width: 20px; height: 20px; font-size: 13px; }
  .lookup-page .cm-form-note { margin-top: 8px; line-height: 23px; }
  .lookup-page .cm-form-body { gap: 20px; }

  /* Mobile history list */
  .history-payment-section { padding-right: 0; padding-bottom: 0; padding-left: 0;padding-top:20px; border: 0; border-radius: 0; background: transparent; }
  .history-payment-section .cm-form-head { margin-bottom: 20px; }
  .history-payment-section .cm-form-title { font-size: 24px; }
  .history-payment-section .cm-form-note { font-size: 16px; }
  .history-list { gap: 15px; }
  .history-item { border-radius: 20px; }
  .history-select-wrap {margin-right:16px;}
  .history-summary { min-height: 95px; padding: 26px 22px; }
  .history-person { gap: 11px; }
  .history-meta { gap: 7px; }
  .history-status { padding: 4px 11px; border-radius: 20px; font-size: 14px; }
  .history-date { font-size: 15px; line-height: 1.3;color:#AAB4BF;}
  .history-date-suffix { display: none; }
  .history-name { font-size: 22px; line-height: 1.3; }
  .history-toggle { gap: 5px; font-size: 12px; line-height: 17px; }
  .history-toggle-pc { display: none; }
  .history-toggle-mo { display: inline; font-size:15px;color:var(--primitive-gray-700) }
  .history-toggle img { width: 14px; height: 14px; }
  .history-detail { gap: 25px; padding: 30px 20px; }
  .history-group-title { padding: 0 0 12px; font-size: 16px; line-height: 20px; }
  .history-info-grid { grid-template-columns: minmax(0, 1fr); column-gap: 0; }
  .history-info-row { gap: 12px; min-height: 44px; padding: 10px 0; }
  .history-info-row dt { font-size: 15px; line-height: 19px; }
  .history-info-row dd { font-size: 16px; line-height: 19px; }
  .history-total { gap: 15px; padding: 20px 0 0; }
  .history-total-label { padding-top: 5px; font-size: 13px; line-height: 19px; }
  .history-total-value { gap: 3px; }
  .history-total-value strong { font-size: 24px; line-height: 35px; }
  .history-total-value span { font-size: 12px; line-height: 17px; }

  /* Mobile refund rules */
  .cm-form-section + .history-refund-section { margin-top: 20px; }
  .history-refund-section { padding: 29px 23px; }
  .history-refund-section .cm-form-head { margin-bottom: 20px; }
  .refund-rules { padding: 12px 15px; }
  .refund-rule { gap: 15px; min-height: 39px; padding: 8px 0; font-size: 14px; line-height: 1.3; }

  /* Mobile inquiry */
  .inquiry-form { margin-top: 0; }
  .inquiry-desc-mark { display: none; }
  .inquiry-textarea { height: 180px; min-height: 180px; padding-bottom: 46px; }
  .cm-button.inquiry-submit { height: 56px; }

  /* Mobile cancel popup */
  .cancel-popup-content { gap: 14px; }
  .cancel-popup-heading { font-size: 16px; }
  .cancel-popup-summary { gap: 21px; border-color: rgba(255, 255, 255, 0.05); }
  .cancel-popup-total dt { font-size: 16px; font-weight: 500; }
  .cancel-popup-action-pc { display: none; }
  .cancel-popup-action-mo { display: inline; }

  /* Mobile page layout */
  .page-content { min-height: 320px; }
}

/* Responsive: small mobile */
@media screen and (max-width: 429px) {
  /* Small mobile common layout */
  .apply-form { margin-top: 6.9767vw; }
  .apply-form .cm-form-section + .cm-form-section { margin-top: 3.4884vw; }

  /* Small mobile payment */
  .payment-wrap .cm-progress { width: calc(100% + 7.4419vw); margin-left: -3.7209vw; }
  .payment-layout { gap: 3.4884vw; margin-top: 6.9767vw; }
  .payment-form { padding: 6.7442vw 5.814vw; }
  .payment-form .cm-form-body { gap: 6.9767vw; }
  .discount-card, .payment-method { padding: 6.7442vw 4.4186vw; }
  .discount-card .cm-form-head, .payment-method .cm-form-head { margin-bottom: 3.7209vw; padding-bottom: 0; }
  .discount-body { gap: 3.4884vw; }
  .cm-help-info { gap: 1.1628vw; font-size: 3.4884vw; line-height: 4.186vw; }
  .info-icon { width: 3.9535vw; height: 3.9535vw; border-radius: 50%; font-size: 2.7907vw; }
  .cm-desc { gap: 1.8605vw; margin-top: 3.2558vw; font-size: 3.0233vw; line-height: 5.3488vw; }
  .payment-option { gap: 2.7907vw; }
  .payment-name { font-size: 3.4884vw; line-height: 4.4186vw; }
  .payment-side { gap: 3.4884vw; }
  .payment-summary { padding: 8.1395vw 4.4186vw; border-radius: 3.4884vw; }
  .payment-title { font-size: 4.6512vw; line-height: 5.5814vw; }
  .payment-prices { gap: 3.7209vw; margin-top: 5.5814vw; }
  .payment-row { gap: 4.6512vw; font-size: 3.2558vw; line-height: 4.186vw; }
  .payment-total { gap: 4.6512vw; margin-top: 3.7209vw; padding-top: 3.7209vw; }
  .payment-total-label { font-size: 3.7209vw; line-height: 4.6512vw; }
  .payment-total-price { font-size: 6.0465vw; line-height: 6.9767vw; }
  .payment-side .is-hero { height: 13.0233vw; min-height: 13.0233vw; padding: 3.4884vw 5.5814vw; font-size: 3.9535vw; }

  /* Small mobile completion */
  .completion-wrap .cm-progress { width: calc(100% + 7.4419vw); margin-left: -3.7209vw; }
  .completion-content { gap: 4.6512vw; padding: 3.7209vw 0.6977vw; }
  .completion-message { gap: 3.2558vw; }
  .completion-icon { width: 11.8605vw; height: 11.8605vw; }
  .completion-title { font-size: 5.5814vw; }
  .completion-desc { font-size: 3.7209vw; line-height: 5.814vw; letter-spacing: -0.1116vw; }
  .completion-actions { padding-top: 2.3256vw; }
  .completion-actions .cm-button { height: 13.0233vw; padding: 3.4884vw 13.2558vw; border-radius: 6.5116vw; font-size: 3.9535vw; line-height: 6.0465vw; }

  /* Small mobile history lookup */
  .lookup-page .cm-form-head { margin-bottom: 4.6512vw; padding-bottom: 4.6512vw; }
  .tit-info-icon { width: 4.6512vw; height: 4.6512vw; font-size: 3.0233vw; }
  .lookup-page .cm-form-note { margin-top: 1.8605vw; line-height: 5.3488vw; }
  .lookup-page .cm-form-body { gap: 4.6512vw; }

  /* Small mobile history list */
  .history-payment-section { border-radius: 0; }
  .history-payment-section .cm-form-head { margin-bottom: 4.6512vw; }
  .history-payment-section .cm-form-title { font-size: 5.5814vw; }
  .history-payment-section .cm-form-note { font-size: 3.7209vw; }
  .history-list { gap: 2.3256vw; }
  .history-item { border-radius: 4.6512vw; }
  .history-summary { min-height: 22.093vw; padding: 4.186vw 3.7209vw; }
  .history-select-wrap { margin-right: 2.3256vw; }
  .history-person { gap: 1.3953vw; }
  .history-meta { gap: 1.6279vw; }
  .history-status { padding: 0.9302vw 2.3256vw; border-radius: 2.7907vw; font-size: 2.7907vw; line-height: 3.9535vw; }
  .history-date { font-size: 2.7907vw; line-height: 3.9535vw; }
  .history-name { font-size: 4.6512vw; line-height: 6.7442vw; }
  .history-toggle { gap: 1.1628vw; font-size: 2.7907vw; line-height: 3.9535vw; }
  .history-toggle img { width: 3.2558vw; height: 3.2558vw; }
  .history-detail { gap: 5.814vw; padding: 6.9767vw 4.6512vw; }
  .history-group-title { padding: 0 0 2.7907vw; font-size: 3.7209vw; line-height: 4.6512vw; }
  .history-info-row { gap: 2.7907vw; min-height: 10.2326vw; padding: 2.3256vw 0; }
  .history-info-row dt { font-size: 3.4884vw; line-height: 4.4186vw; }
  .history-info-row dd { font-size: 3.7209vw; line-height: 4.4186vw; }
  .history-total { gap: 3.4884vw; padding: 4.6512vw 0 0; }
  .history-total-label { padding-top: 1.1628vw; font-size: 3.0233vw; line-height: 4.4186vw; }
  .history-total-value { gap: 0.6977vw; }
  .history-total-value strong { font-size: 5.5814vw; line-height: 8.1395vw; }
  .history-total-value span { font-size: 2.7907vw; line-height: 3.9535vw; }

  /* Small mobile refund rules */
  .cm-form-section + .history-refund-section { margin-top: 4.6512vw; }
  .history-refund-section { padding: 6.7442vw 5.3488vw; }
  .history-refund-section .cm-form-head { margin-bottom: 4.6512vw; }
  .refund-rules { padding: 2.7907vw 3.4884vw; border-radius: 2.3256vw; }
  .refund-rule { gap: 3.4884vw; min-height: 9.0698vw; padding: 1.8605vw 0; font-size: 3.0233vw; line-height: 4.4186vw; }

  /* Small mobile inquiry */
  .inquiry-form { margin-top: 0; }
  .inquiry-textarea { height: 41.8605vw; min-height: 41.8605vw; padding-bottom: 10.6977vw; }
  .inquiry-text-count { right: 4.186vw; bottom: 3.7209vw; font-size: 3.2558vw; line-height: 4.6512vw; }
  .cm-button.inquiry-submit { height: 13.0233vw; }

  /* Small mobile cancel popup */
  .cancel-popup-content { gap: 3.2558vw; }
  .cancel-popup-heading { font-size: 3.7209vw; }
  .cancel-popup-summary { gap: 4.8837vw; padding: 5.814vw; border-radius: 2.3256vw; }
  .cancel-popup-list { gap: 3.7209vw; }
  .cancel-popup-row { gap: 4.6512vw; min-height: 6.0465vw; }
  .cancel-popup-row dt { font-size: 3.7209vw; }
  .cancel-popup-row dd { font-size: 4.186vw; }
  .cancel-popup-total { padding-top: 3.4884vw; }
  .cancel-popup-total dt { font-size: 3.7209vw; }
  .cancel-popup-total dd { font-size: 5.1163vw; }
  .page-content { min-height: 74.4186vw; }
}
