/* D2-BookingSticky: compact booking panel
   마지막 정상 구조 유지 + 글자/입력박스/가격정보만 축소 정리 */

.hk-studio-booking-card.hk-booking-v2 {
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid var(--hk-line, #d2d2ce);
    border-radius: 14px;
    background: #f7f7f5 !important;
    box-shadow: none;
}

.hk-booking-v2__form {
    display: block;
}

/* 상단 예상 총액 */
.hk-booking-v2__total-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 104px;
    padding: 22px 24px 20px;
    text-align: center;
    border-bottom: 1px solid var(--hk-line, #d2d2ce);
}

.hk-booking-v2__total-block strong {
    display: block;
    color: #111;
    font-size: 34px;
    line-height: 1.02;
    font-weight: 850;
    letter-spacing: -0.055em;
}

.hk-booking-v2__total-block span {
    display: block;
    margin-top: 7px;
    color: #72747b;
    font-size: 16px;
    line-height: 1.2;
}

/* 섹션 */
.hk-booking-v2__section {
    padding: 22px 24px;
    border-bottom: 1px solid var(--hk-line, #d2d2ce);
}

.hk-booking-v2__section h3 {
    margin: 0 0 16px;
    color: #111;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.hk-booking-v2__section h3 span {
    color: #777b84;
    font-weight: 500;
}

/* 날짜/시간/인원 */
.hk-booking-v2__days {
    display: grid;
    gap: 16px;
}

.hk-booking-v2__day {
    display: grid;
    gap: 12px;
    padding: 0 0 14px;
    border-bottom: 1px dashed #d4d4d0;
}

.hk-booking-v2__day:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.hk-booking-v2__day-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    color: #666;
    font-size: 12px;
    font-weight: 800;
}

.hk-booking-v2__remove-day {
    border: 0;
    padding: 0;
    background: transparent;
    color: #4f4f4a;
    font-size: 13px;
    text-decoration: underline;
    cursor: pointer;
}

.hk-booking-v2__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.hk-booking-v2__field span {
    color: #111;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 800;
}

.hk-booking-v2__field input,
.hk-booking-v2__field select,
.hk-booking-v2__field textarea {
    width: 100%;
    min-height: 42px;
    height: 42px;
    padding: 0 14px;
    border: 1px solid #c8c8c3;
    border-radius: 8px;
    background: #f7f7f5;
    color: #111;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 500;
    outline: none;
}

.hk-booking-v2__field textarea {
    height: auto;
    min-height: 72px;
    padding-top: 10px;
    padding-bottom: 10px;
    resize: vertical;
    font-size: 14px;
    line-height: 1.45;
}

.hk-booking-v2__field input:focus,
.hk-booking-v2__field select:focus,
.hk-booking-v2__field textarea:focus {
    border-color: #111;
}

.hk-booking-v2__time-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.hk-booking-v2__link {
    display: inline-flex;
    margin-top: 16px;
    border: 0;
    padding: 0;
    background: transparent;
    color: #4f4f4a;
    font-size: 15px;
    line-height: 1.3;
    text-decoration: underline;
    cursor: pointer;
}

/* 가격정보 */
.hk-booking-v2__price-note,
.hk-booking-v2__deposit-note {
    margin: -2px 0 16px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #eeeeeb;
    color: #5f625f;
    font-size: 13px;
    line-height: 1.55;
    font-weight: 400;
}

.hk-booking-v2__deposit-note {
    margin: 16px 0 0;
}

.hk-booking-v2__price-lines {
    display: grid;
    gap: 10px;
}

.hk-booking-v2__line {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    color: #111;
    font-size: 15px;
    line-height: 1.35;
}

.hk-booking-v2__line span {
    color: #111;
}

.hk-booking-v2__line b,
.hk-booking-v2__line strong {
    font-weight: 650;
    white-space: nowrap;
}

.hk-booking-v2__line--total {
    margin-top: 4px;
    font-size: 20px;
    font-weight: 850;
}

.hk-booking-v2__line--total strong {
    font-weight: 850;
}

.hk-booking-v2__line--final {
    margin-top: 8px;
    font-size: 17px;
    font-weight: 850;
}

.hk-booking-v2__line--final strong {
    font-weight: 850;
}

.hk-booking-v2__divider {
    height: 1px;
    margin: 18px 0;
    background: var(--hk-line, #d2d2ce);
}

.hk-booking-v2__split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 14px;
}

.hk-booking-v2__split > div {
    padding: 12px;
    border: 1px solid #d2d2ce;
    border-radius: 10px;
    background: #f1f1ef;
}

.hk-booking-v2__split span {
    display: block;
    margin-bottom: 5px;
    color: #777;
    font-size: 12px;
    line-height: 1.2;
}

.hk-booking-v2__split strong {
    display: block;
    color: #111;
    font-size: 15px;
    line-height: 1.25;
}

.hk-booking-v2__invoice {
    margin: 12px 0 0;
    color: #0d6e52;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 700;
}

/* 버튼 */
.hk-booking-v2__submit-section {
    border-bottom: 0;
}

.hk-booking-v2__submit,
.hk-booking-v2__modal-submit {
    width: 100%;
    min-height: 48px;
    height: 48px;
    border: 0;
    border-radius: 8px;
    background: #111;
    color: #fff;
    font-size: 18px;
    line-height: 1;
    font-weight: 800;
    cursor: pointer;
}

.hk-booking-v2__submit:hover,
.hk-booking-v2__modal-submit:hover {
    filter: brightness(.92);
}

.hk-booking-v2__small-note {
    margin: 12px 0 0;
    color: #72747b;
    font-size: 14px;
    line-height: 1.45;
    text-align: center;
}

/* 팝업 */
.hk-booking-v2__modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 22px;
}

.hk-booking-v2__modal.is-open {
    display: flex;
}

.hk-booking-v2__modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.45);
}

.hk-booking-v2__modal-panel {
    position: relative;
    z-index: 1;
    width: min(520px, 100%);
    max-height: min(760px, calc(100vh - 44px));
    overflow: auto;
    padding: 24px;
    border-radius: 16px;
    background: #f7f7f5;
    border: 1px solid #d2d2ce;
}

.hk-booking-v2__modal-panel h3 {
    margin: 0 0 8px;
    font-size: 22px;
    line-height: 1.15;
    letter-spacing: -0.04em;
}

.hk-booking-v2__modal-panel p {
    margin: 0 0 18px;
    color: #666;
    font-size: 14px;
    line-height: 1.45;
}

.hk-booking-v2__modal-panel .hk-booking-v2__field {
    margin-bottom: 12px;
}

.hk-booking-v2__modal-close {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #111;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.hk-booking-v2__result {
    min-height: 22px;
    margin: 8px 0 12px;
    color: #0d6e52;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 700;
}

@media (max-width: 767px) {
    .hk-booking-v2__section {
        padding: 20px 18px;
    }

    .hk-booking-v2__total-block {
        min-height: 98px;
        padding: 20px 18px 18px;
    }

    .hk-booking-v2__total-block strong {
        font-size: 32px;
    }

    .hk-booking-v2__total-block span {
        font-size: 15px;
    }

    .hk-booking-v2__time-grid,
    .hk-booking-v2__split {
        grid-template-columns: 1fr;
    }

    .hk-booking-v2__field input,
    .hk-booking-v2__field select {
        font-size: 15px;
    }
}


/* 일정 요약 줄: 금액 없이 날짜 · 시간 · 인원만 표시 */
.hk-booking-v2__line--schedule {
    justify-content: flex-start;
}


/* D2-BookingSticky neutral interaction override
   핑크/보라 계열 hover/tap 컬러 제거. D2 영역 안에서만 적용. */
.hk-studio-booking-card.hk-booking-v2 button,
.hk-studio-booking-card.hk-booking-v2 a {
    -webkit-tap-highlight-color: rgba(17, 17, 17, 0.08);
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__link,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__remove-day {
    color: #4f4f4a !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__link:hover,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__link:focus,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__remove-day:hover,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__remove-day:focus {
    color: #111 !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__mode-button:hover,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__mode-button:focus {
    border-color: #777772;
    background: #e7e7e3;
    color: #111;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__mode-button.is-active,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__submit,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__modal-submit {
    background: #111 !important;
    color: #fff !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__submit:hover,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__modal-submit:hover,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__mode-button.is-active:hover {
    background: #2f2f2b !important;
    color: #fff !important;
    filter: none !important;
}

.hk-studio-booking-card.hk-booking-v2 input:focus,
.hk-studio-booking-card.hk-booking-v2 select:focus,
.hk-studio-booking-card.hk-booking-v2 textarea:focus {
    border-color: #111 !important;
    box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.08);
}


/* D2 mode switch restore: 예약/답사 버튼 모양 + 답사 모드 내용 표시 원복 */
.hk-booking-v2__mode-switch {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 18px 24px 0;
}

.hk-booking-v2__mode-button {
    width: 100%;
    height: 42px;
    border: 1px solid #c8c8c3;
    border-radius: 8px;
    background: #f1f1ef;
    color: #333;
    font-size: 15px;
    line-height: 1;
    font-weight: 800;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.hk-booking-v2__mode-button.is-active {
    border-color: #111;
    background: #111;
    color: #fff;
}

.hk-booking-v2__mode-button:hover,
.hk-booking-v2__mode-button:focus {
    border-color: #777772;
    background: #e7e7e3;
    color: #111;
}

.hk-booking-v2__mode-button.is-active:hover,
.hk-booking-v2__mode-button.is-active:focus {
    border-color: #111;
    background: #2f2f2b;
    color: #fff;
}

/* 답사 클릭 시 예약/가격/인원/하루추가 영역만 숨기고 날짜/시간/신청버튼은 유지 */
.hk-booking-v2.is-visit-mode [data-hk-booking-only] {
    display: none !important;
}

.hk-booking-v2.is-visit-mode [data-hk-visit-only] {
    display: inline !important;
    margin-left: 4px;
    color: #777b84;
    font-style: normal;
    font-weight: 500;
}

@media (max-width: 767px) {
    .hk-booking-v2__mode-switch {
        padding: 16px 18px 0;
    }
}


/* D2 price line alignment: 글자 좌정렬 / 금액 우정렬 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines .hk-booking-v2__line,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines .hk-booking-v2__line--schedule,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines .hk-booking-v2__line--overtime-detail {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 16px !important;
    width: 100%;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines .hk-booking-v2__line span,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines .hk-booking-v2__line--schedule span,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines .hk-booking-v2__line--overtime-detail span {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines .hk-booking-v2__line b,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines .hk-booking-v2__line strong,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines .hk-booking-v2__line--schedule b,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines .hk-booking-v2__line--overtime-detail b {
    flex: 0 0 auto;
    margin-left: auto !important;
    text-align: right !important;
    white-space: nowrap;
}


/* D2 price total hierarchy: 총 금액을 가장 크게, 공간 이용료/부가세는 같은 크기 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section > .hk-booking-v2__line:not(.hk-booking-v2__line--final):not(.hk-booking-v2__line--total):not(.hk-booking-v2__line--vat) {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 16px !important;
    width: 100%;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--total {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 16px !important;
    width: 100%;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--total span,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section > .hk-booking-v2__line:not(.hk-booking-v2__line--final):not(.hk-booking-v2__line--total):not(.hk-booking-v2__line--vat) span {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--total strong,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section > .hk-booking-v2__line:not(.hk-booking-v2__line--final):not(.hk-booking-v2__line--total):not(.hk-booking-v2__line--vat) b {
    flex: 0 0 auto;
    margin-left: auto !important;
    text-align: right !important;
    white-space: nowrap;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--final {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 16px !important;
    width: 100%;
    margin-top: 18px !important;
    font-size: 28px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--final span {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left !important;
    font-size: 28px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--final strong {
    flex: 0 0 auto;
    margin-left: auto !important;
    text-align: right !important;
    white-space: nowrap;
    font-size: 28px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
}

/* 가격정보 세부 줄 정렬 유지 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines .hk-booking-v2__line {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 16px !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines .hk-booking-v2__line span {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines .hk-booking-v2__line b,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines .hk-booking-v2__line strong {
    flex: 0 0 auto;
    margin-left: auto !important;
    text-align: right !important;
    white-space: nowrap;
}

@media (max-width: 767px) {
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--final,
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--final span,
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--final strong {
        font-size: 24px !important;
    }

    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--total,
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--total span,
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--total strong,
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section > .hk-booking-v2__line:not(.hk-booking-v2__line--final):not(.hk-booking-v2__line--total):not(.hk-booking-v2__line--vat),
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section > .hk-booking-v2__line:not(.hk-booking-v2__line--final):not(.hk-booking-v2__line--total):not(.hk-booking-v2__line--vat) span,
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section > .hk-booking-v2__line:not(.hk-booking-v2__line--final):not(.hk-booking-v2__line--total):not(.hk-booking-v2__line--vat) b {
        font-size: 18px !important;
    }
}


/* D2 datetime label cleanup: 시간 라벨 제거 후 입력칸 간격 보정 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__time-grid {
    margin-top: 4px;
}

.hk-studio-booking-card.hk-booking-v2 .hk-start-time,
.hk-studio-booking-card.hk-booking-v2 .hk-end-time {
    cursor: pointer;
}

/* 가격정보 설명 문구가 남아 있어도 화면에서는 숨김 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-note {
    display: none !important;
}


/* D2 date display: 26년 5월 21일 표기 + 실제 date picker는 숨김 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-date {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    pointer-events: none !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-date-display {
    cursor: pointer;
}

/* 하루 추가 버튼 hover/tap 핑크 제거 */
.hk-studio-booking-card.hk-booking-v2 [data-hk-add-day],
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__link[data-hk-add-day] {
    color: #4f4f4a !important;
    text-decoration-color: #4f4f4a !important;
    -webkit-tap-highlight-color: rgba(17, 17, 17, 0.08);
}

.hk-studio-booking-card.hk-booking-v2 [data-hk-add-day]:hover,
.hk-studio-booking-card.hk-booking-v2 [data-hk-add-day]:focus,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__link[data-hk-add-day]:hover,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__link[data-hk-add-day]:focus {
    color: #111 !important;
    text-decoration-color: #111 !important;
    background: transparent !important;
    box-shadow: none !important;
}


/* D2 VAT line: 부가세 10%는 더 작고 회색, 금액은 총 금액과 같은 우측선 정렬 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--vat,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--vat span,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--vat b,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--vat strong {
    color: #777b84 !important;
    font-size: 15px !important;
    line-height: 1.22 !important;
    font-weight: 700 !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--vat {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 18px !important;
    width: 100%;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--vat span {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--vat b,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--vat strong {
    flex: 0 0 auto;
    margin-left: auto !important;
    text-align: right !important;
    white-space: nowrap;
    letter-spacing: 0.035em;
    min-width: 132px;
}

@media (max-width: 767px) {
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--vat,
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--vat span,
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--vat b,
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--vat strong {
        font-size: 14px !important;
    }

    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--vat b,
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--vat strong {
        min-width: 118px;
    }
}


/* D2 final design-only patch: 기존 가격정책/예약·답사/JS 구조 유지 */
.hk-studio-booking-card.hk-booking-v2,
.hk-studio-booking-card.hk-booking-v2 * {
    font-weight: 400 !important;
}

/* 예약/답사 버튼은 모양 유지, 볼드만 제거 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__mode-button {
    font-weight: 400 !important;
}

/* 상단 예상 총액: 글자 크기 축소 + 약한 볼드만 유지 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__total-block strong {
    font-size: 30px !important;
    line-height: 1.05 !important;
    font-weight: 600 !important;
    letter-spacing: -0.045em !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__total-block span {
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
}

/* 날짜/시간 라벨 제거 후 간격만 유지 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__schedule-section .hk-booking-v2__field > span:not(.hk-booking-v2__inside-box) {
    display: none !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__section h3 {
    font-size: 15px !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;
    letter-spacing: -0.02em !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__field input,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__field select,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__field textarea {
    font-weight: 400 !important;
}

/* 인원 / 추가인원 라벨을 입력박스 안으로 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__people-wrap {
    display: grid !important;
    gap: 10px !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__field--inside-label {
    gap: 0 !important;
    margin-top: 0 !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__inside-box {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 14px !important;
    border: 1px solid #c8c8c3 !important;
    border-radius: 8px !important;
    background: #f7f7f5 !important;
    color: #111 !important;
    box-sizing: border-box !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__inside-label,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__inside-separator,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__inside-unit {
    flex: 0 0 auto !important;
    color: #55585d !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__inside-separator {
    margin: 0 9px !important;
    color: #b1b1ac !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__inside-box input,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__inside-box select {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #111 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    outline: none !important;
}

/* 가격정보 설명/하단 계약금 설명 제거 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-note,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__deposit-note {
    display: none !important;
}

/* 가격정보 라인: 볼드 제거 + 작은 글자 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines {
    gap: 8px !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines .hk-booking-v2__line,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines .hk-booking-v2__line span,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines .hk-booking-v2__line b,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-lines .hk-booking-v2__line strong {
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    color: #777b84 !important;
    letter-spacing: -0.015em !important;
}

/* 공간 이용료 / 부가세: 같은 작은 폰트 + 볼드 제거 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--total,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--total span,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--total strong,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--vat,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--vat span,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--vat b,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--vat strong {
    font-size: 15px !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;
    color: #111 !important;
    letter-spacing: -0.015em !important;
}

/* 총 금액: 크기 축소 + 약한 볼드만 유지 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--final,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--final span,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--final strong {
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    color: #111 !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--final {
    margin-top: 10px !important;
}

/* 계약금/잔금 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__split span,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__split strong {
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__split strong {
    color: #111 !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__split-label {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    overflow: visible !important;
}

/* 계약금 원형 ? 툴팁 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__help {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 15px !important;
    height: 15px !important;
    padding: 0 !important;
    border: 1px solid #9b9d9d !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #5f625f !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    cursor: help !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__help-tooltip {
    position: absolute !important;
    left: 0 !important;
    bottom: calc(100% + 8px) !important;
    z-index: 40 !important;
    width: min(280px, calc(100vw - 48px)) !important;
    display: none !important;
    padding: 10px 11px !important;
    border: 1px solid #d2d2ce !important;
    border-radius: 9px !important;
    background: #2f2f2b !important;
    color: #fff !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    white-space: normal !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__help:hover + .hk-booking-v2__help-tooltip,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__help:focus + .hk-booking-v2__help-tooltip,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__help-tooltip:hover {
    display: block !important;
}


/* PATCH REAL LATEST 2026-05-21 12:42:55
   마지막 업로드 CSS 기준. 예전 파일 사용 안 함.
   목적: 디자인 유지 + 예약/답사 버튼 표시 안정화 + 가격표 폰트 안정화 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__mode-switch,
.hk-studio-booking-card.hk-booking-v2 [data-hk-mode-switch],
.hk-studio-booking-card.hk-booking-v2.is-visit-mode .hk-booking-v2__mode-switch,
.hk-studio-booking-card.hk-booking-v2.is-visit-mode [data-hk-mode-switch] {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    padding: 18px 24px 0 !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__mode-button {
    width: 100% !important;
    height: 42px !important;
    border: 1px solid #c8c8c3 !important;
    border-radius: 8px !important;
    background: #f1f1ef !important;
    color: #333 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__mode-button.is-active {
    border-color: #111 !important;
    background: #111 !important;
    color: #fff !important;
}

/* 답사 모드에서도 상단 예약/답사 버튼은 숨기지 않음 */
.hk-studio-booking-card.hk-booking-v2.is-visit-mode .hk-booking-v2__mode-switch {
    display: grid !important;
}

/* 가격정보는 현재 디자인 유지, 과한 볼드만 차단 */
.hk-studio-booking-card.hk-booking-v2,
.hk-studio-booking-card.hk-booking-v2 * {
    font-weight: 400 !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__total-block strong,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--final,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--final span,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__line--final strong {
    font-weight: 600 !important;
}


/* PATCH NO DATALIST SPINNER 2026-05-21 13:29:33
   추가인원은 목록 선택이 아니라 number input 상/하 버튼으로 증감 */
.hk-studio-booking-card.hk-booking-v2 input.hk-extra-people[type="number"] {
    -webkit-appearance: auto !important;
    appearance: auto !important;
    -moz-appearance: number-input !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__inside-box input.hk-extra-people[type="number"] {
    -webkit-appearance: auto !important;
    appearance: auto !important;
    -moz-appearance: number-input !important;
    cursor: text !important;
}

/* 추가인원 input에는 select/datalist용 화살표가 붙지 않게 한다 */
.hk-studio-booking-card.hk-booking-v2 input.hk-extra-people::-webkit-calendar-picker-indicator {
    display: none !important;
    opacity: 0 !important;
}


/* PATCH ADD DAY + TOAST OVERLAY 2026-05-21 13:53:03
   +하루추가 텍스트 축소/밑줄 제거, 토스트는 공간을 밀지 않고 아래에 겹쳐 표시 */
.hk-studio-booking-card.hk-booking-v2 [data-hk-add-day],
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__link[data-hk-add-day] {
    margin-top: 10px !important;
    color: #4f4f4a !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.hk-studio-booking-card.hk-booking-v2 [data-hk-add-day]:hover,
.hk-studio-booking-card.hk-booking-v2 [data-hk-add-day]:focus,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__link[data-hk-add-day]:hover,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__link[data-hk-add-day]:focus {
    color: #111 !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* 토스트는 추가인원 아래에서 +하루추가 영역을 덮어도 되도록 absolute overlay */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__day {
    position: relative !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__time-toast {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: calc(100% + 6px) !important;
    z-index: 50 !important;
    display: block !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-4px) !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid #d2d2ce !important;
    border-radius: 9px !important;
    background: #2f2f2b !important;
    color: #fff !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__time-toast.is-visible {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}


/* RESTORE V2 + VAT FINAL 2026-05-21 14:24:14
   깨진 hk-d2 구조 복구용. 정상 hk-booking-v2 구조 기준. */

/* 부가세 10%: 공간 이용료와 같은 작은 크기, 볼드 제거 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section .hk-booking-v2__line.hk-booking-v2__line--vat,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section .hk-booking-v2__line.hk-booking-v2__line--vat span,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section .hk-booking-v2__line.hk-booking-v2__line--vat b,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section .hk-booking-v2__line.hk-booking-v2__line--vat strong {
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;
    color: #111 !important;
    letter-spacing: -0.015em !important;
}

/* 부가세 금액 기존 min-width/자간 강제값 제거 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section .hk-booking-v2__line.hk-booking-v2__line--vat b,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section .hk-booking-v2__line.hk-booking-v2__line--vat strong {
    min-width: 0 !important;
    letter-spacing: -0.015em !important;
    font-weight: 400 !important;
}

/* 총 금액: 현재 크기 유지, 굵기만 조금 강화 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section .hk-booking-v2__line.hk-booking-v2__line--final,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section .hk-booking-v2__line.hk-booking-v2__line--final span,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section .hk-booking-v2__line.hk-booking-v2__line--final strong {
    font-weight: 750 !important;
}


/* VISIT MODE PEOPLE HIDE FINAL 2026-05-21 15:29:07
   중복 CSS 정리 후 최종 보정.
   답사 모드에서는 인원/추가인원 입력을 표시하지 않음.
   예약 모드에서는 기존 인원/추가인원 입력 유지. */

/* 인원 영역 여백은 이 블록 하나로만 최종 관리 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__people-wrap {
    display: grid !important;
    margin-top: 12px !important;
    gap: 10px !important;
}

@media (max-width: 767px) {
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__people-wrap {
        margin-top: 10px !important;
        gap: 10px !important;
    }
}

/* 답사 모드: 인원/추가인원 입력 완전 숨김 */
.hk-studio-booking-card.hk-booking-v2.is-visit-mode .hk-booking-v2__people-wrap,
.hk-studio-booking-card.hk-booking-v2.is-visit-mode .hk-booking-v2__people-wrap[data-hk-booking-only],
.hk-studio-booking-card.hk-booking-v2.is-visit-mode [data-hk-booking-only].hk-booking-v2__people-wrap {
    display: none !important;
}


/* VAT LOCKED SMALL FINAL 2026-05-21 15:32:04
   부가세 10%는 앞으로 절대 큰 가격 규칙을 타지 않게 고정.
   1) 위 price-section 일반 규칙에서 .hk-booking-v2__line--vat 제외
   2) 여기서 부가세 줄/글자/금액을 13px, 400으로 최종 고정
*/

/* 부가세 줄 자체 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section > .hk-booking-v2__line.hk-booking-v2__line--vat {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 16px !important;
    width: 100% !important;
    margin-top: 0 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    color: #777b84 !important;
    letter-spacing: -0.015em !important;
}

/* 부가세 10% 글자 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section > .hk-booking-v2__line.hk-booking-v2__line--vat span {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    color: #777b84 !important;
    letter-spacing: -0.015em !important;
}

/* 부가세 금액 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section > .hk-booking-v2__line.hk-booking-v2__line--vat b,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section > .hk-booking-v2__line.hk-booking-v2__line--vat strong {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    margin-left: auto !important;
    text-align: right !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    color: #777b84 !important;
    letter-spacing: -0.015em !important;
}

/* 모바일에서도 부가세는 동일하게 작게 고정 */
@media (max-width: 767px) {
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section > .hk-booking-v2__line.hk-booking-v2__line--vat,
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section > .hk-booking-v2__line.hk-booking-v2__line--vat span,
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section > .hk-booking-v2__line.hk-booking-v2__line--vat b,
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__price-section > .hk-booking-v2__line.hk-booking-v2__line--vat strong {
        font-size: 13px !important;
        line-height: 1.35 !important;
        font-weight: 400 !important;
        color: #777b84 !important;
    }
}


/* D2 reservation action split: 예약 모드 하단 예약 요청 / 가부킹 분리 */
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__action-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: 100% !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__submit--hold {
    border: 1px solid #c8c8c3 !important;
    background: #f1f1ef !important;
    color: #111 !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__submit--hold:hover,
.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__submit--hold:focus {
    border-color: #777772 !important;
    background: #e7e7e3 !important;
    color: #111 !important;
    filter: none !important;
}

.hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__submit--visit {
    display: none !important;
}

.hk-studio-booking-card.hk-booking-v2.is-visit-mode .hk-booking-v2__submit--visit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

@media (max-width: 767px) {
    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__action-grid {
        gap: 8px !important;
    }

    .hk-studio-booking-card.hk-booking-v2 .hk-booking-v2__submit {
        font-size: 15px !important;
    }
}
