.booking-wrap {
    width: 100%;
}

.booking-header-area {
    width: 100%;
    background: #f5f5f5;
    padding: 40px 0;
}

.booking-content-area {
    width: 100%;
}

.booking-wrap .booking-alert {
    margin-bottom: 20px;
    padding: 14px 18px;
    border-radius: 8px;
    font-size: 15px;
    line-height: 1.5;
}

.booking-wrap .booking-alert--error {
    background: #fdecea;
    color: #b42318;
    border: 1px solid #f5c2c0;
}

.booking-wrap .booking-alert--success {
    background: #ecfdf3;
    color: #027a48;
    border: 1px solid #abefc6;
}

.booking-wrap .booking-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
}

/* 헤더 */
.booking-wrap .booking-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}

/* 타이틀 */
.booking-wrap .booking-title {
    font-size: 1.4rem;
    font-weight: 400;
}

.booking-wrap .booking-header-main {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.booking-wrap .booking-search-open-btn {
    padding: 8px 14px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 6px;
    background: #fff;
    color: #111;
    cursor: pointer;
}

/* 예약 조회 팝업(components/ui modal) — .ui-modal-inner 는 서치모달 한정 */
.search-modal .ui-modal-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 460px;
}

/* 예약 조회 팝업(components/ui modal) — form_wrap은 팝업 너비에 맞춤 */
.search-modal .form_wrap {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}

.search-modal .form_wrap .form_list {
    display: flex;
    flex-direction: column;
    gap:16px;
}

.search-modal .form_group {
    position: relative;
}

.search-modal .form_group .text {
    width: 100%;
    height: 70px;
    border: 2px solid #d3d5e0;
    border-radius: 10px;
    font-size: 17px;
    padding: 0 20px;
    box-sizing: border-box;
}

.search-modal .form_group .text::-webkit-inner-spin-button {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}

.search-modal .form_group .text:focus {
    border-color: #2077d9;
    padding-top: 10px;
    outline: none;
}

.search-modal .form_group .text:focus::placeholder {
    opacity: 0;
}

.search-modal .form_group .text[readonly] {
    background: #f1f1f1;
}

.search-modal .form_group .text[readonly]:focus {
    border-color: #d3d5e0;
}

.search-modal .form_group .form_label {
    position: absolute;
    left: 22px;
    top: 28px;
    z-index: 10;
    color: #999999;
    font-size: 20px;
    transition: transform 150ms ease-out, font-size 150ms ease-out;
    font-weight: 300;
    opacity: 0;
}

.search-modal .form_group.focused .form_label,
.search-modal .form_group.fixed .form_label,
.search-modal .form_group.disabled .form_label {
    opacity: 1;
    transform: translate(0px, -100%);
    font-size: 14px;
    font-weight: 900;
    color: #373636;
}

.search-modal .form_group.focused .text,
.search-modal .form_group.fixed .text,
.search-modal .form_group.disabled .text {
    padding-top: 21px;
}

.search-modal .booking-search-lead {
margin-bottom: 16px;
    line-height: 1.4;
    color: #353645;
    font-weight: 500;
    font-size: 1.2rem;
}

.search-modal .booking-search-chk {
    margin-top: 12px;
}

/* =========================
   STEP UI (확정)
========================= */

.booking-wrap .step-indicator {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* step-item */
.booking-wrap .step-indicator .step-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* 숫자 */
.booking-wrap .step-indicator .step-num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #ddd;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    background: #eee;
    color: #999;
}

/* active 숫자 */
.booking-wrap .step-indicator .step-item.active .step-num {
    background: #111;
    color: #fff;
    border-color: #111;
}

/* 🔥 text 기본 숨김 */
.booking-wrap .step-indicator .step-text {
    display: none;
}

/* 🔥 active만 text */
.booking-wrap .step-indicator .step-item.active .step-text {
    display: inline-block;
    color: #111;
}

/* 🔥 line 기본 숨김 */
.booking-wrap .step-indicator .step-item .step-line {
    display: none;
    width: 40px;
    height: 2px;
    background: #ddd;
}

.booking-wrap .step-indicator .step-item.active .step-line {
    display: block;
}

/* 정보 영역 */
.booking-wrap .booking-header-area .booking-info {
    background: #fff;
    padding: 24px;
    border-radius: 8px;
}

.booking-wrap .booking-header-area .booking-info-inner {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.booking-wrap .booking-header-area .hotel-name {
    font-size: 18px;
    font-weight: 600;
}

.booking-wrap .booking-header-area .info-bottom {
    display: flex;
    align-items: center;
    gap: 80px;
}

.booking-wrap .booking-header-area .info-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.booking-wrap .booking-header-area .info-label {
    font-size: 13px;
    color: #999;
}

.booking-wrap .booking-header-area .info-text {
    font-size: 14px;
    color: #111;
}

.booking-wrap .booking-content {
    margin-top: 40px;
}


/* 기본 숨김 */
.booking-wrap .booking-content .booking-step {
    display: none;
}

/* active만 노출 */
.booking-wrap .booking-content .booking-step.active {
    display: flex;
    gap: 40px;
    padding: 0 0 80px;
}

.booking-wrap .booking-room-trigger {
    max-width: 1280px;
    margin: 24px auto 0;
    padding: 0 20px;
}

/* step2 활성 시 날짜·인원 트리거 숨김 (step1에서만 사용) */
.booking-wrap:has(.booking-step.step-2.active) .booking-room-trigger {
    display: none;
}

.booking-wrap .booking-room-trigger-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    background: #f9f7f3;
    border: 1px solid #e5e5e5;
    border-radius: 12px;

    cursor: pointer;
    transition: all 0.2s ease;
}

.booking-wrap .booking-room-trigger-btn:hover {
    border-color: #111;
}

.booking-wrap .booking-room-trigger-col {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.booking-wrap .booking-room-trigger-col .label {
    font-size: 12px;
    color: #888;
}

.booking-wrap .booking-room-trigger-col .value {
    font-size: 14px;
    font-weight: 600;
    color: #111;
}

/* 구분선 느낌 (선택) */
.booking-wrap .booking-room-trigger-col:not(:last-child) {
    position: relative;
}

.booking-wrap .booking-room-trigger-col:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -6px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 24px;
    background: #eee;
}

/* step-1 좌측 */
.booking-wrap .booking-content .booking-step.step-1 .booking-left {
    flex: 1;
}

.booking-wrap .booking-content .booking-step.step-1 .room-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.booking-wrap .booking-content .booking-step.step-1 .room-list .room-items {
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.booking-wrap .booking-content .booking-step.step-1 .room-list .room-list-title {
    padding: 16px 0;
    border-top: 1px solid #111;
    font-size: 14px;
    font-weight: 500;
    color: #111;
    margin-bottom: 16px;
}

.booking-wrap .booking-content .booking-step.step-1 .room-list .room-list-title strong {
    font-weight: 700;
}

.booking-wrap .booking-content .booking-step.step-1 .room-item {
    display: flex;
    gap: 24px;
    padding: 0;
    background: #fff;
    border-radius: 8px;
}

/* 썸네일 */
.booking-wrap .booking-content .booking-step.step-1 .room-thumb {
    width: 320px;
    height: 200px;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 6px;
}

.booking-wrap .booking-content .booking-step.step-1 .room-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 우측 정보 */
.booking-wrap .booking-content .booking-step.step-1 .room-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* 상단 */
.booking-wrap .booking-content .booking-step.step-1 .room-top {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.booking-wrap .booking-content .booking-step.step-1 .room-title-wrap {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
}

.booking-wrap .booking-content .booking-step.step-1 .room-desc {
    font-size: 13px;
    color: #777;
    line-height: 1.4;
}

.booking-wrap .booking-content .booking-step.step-1 .room-name {
    font-size: 20px;
    font-weight: 600;
}

.booking-wrap .booking-content .booking-step.step-1 .room-meta {
    display: flex;
    font-size: 14px;
    color: #666;
    align-items: center;
}

.booking-wrap .booking-content .booking-step.step-1 .room-meta .meta-item {
    font-size: 14px;
    color: #666;
}

.booking-wrap .booking-content .booking-step.step-1 .room-meta .meta-item + .meta-item::before {
    content: "|";
    margin: 0 8px;
    color: #ccc;
}

.booking-wrap .booking-content .booking-step.step-1 .room-info .room-price {
    margin-top: 12px;
    font-size: 24px;
    font-weight: 700;
    color: #111;
}

.booking-wrap .booking-content .booking-step.step-1 .room-info .room-price em {
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    margin-left: 2px;
}

.booking-wrap .booking-content .booking-step.step-1 .room-info .room-price .room-price-amount {
    margin-right: 0;
}

/* 하단 */
.booking-wrap .booking-content .booking-step.step-1 .room-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
}

.booking-wrap .booking-content .booking-step.step-1 .room-date-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    min-height: 1.5em;
}

.booking-wrap .booking-content .booking-step.step-1 .room-date {
    font-size: 14px;
    color: #333;
}

.booking-wrap .booking-content .booking-step.step-1 .room-unavailable-badge {
    display: none;
    font-size: 13px;
    font-weight: 600;
    color: #b91c1c;
    line-height: 1.2;
}

.booking-wrap .booking-content .booking-step.step-1 .room-item--unavailable {
    opacity: 0.72;
}

.booking-wrap .booking-content .booking-step.step-1 .room-item--unavailable .room-unavailable-badge {
    display: inline-block;
}

.booking-wrap .booking-content .booking-step.step-1 .room-item--unavailable .btn-room-reserve {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.booking-wrap .booking-content .booking-step.step-1 .room-btn-wrap {
    display: flex;
    gap: 12px;
}

.booking-wrap .booking-content .booking-step.step-1 .room-btn {
    padding: 12px 24px;
    font-size: 14px;
    cursor: pointer;
    border: none;
}

.booking-wrap .booking-content .booking-step.step-1 .room-btn.primary {
    background: #000;
    color: #fff;
}

.booking-wrap .booking-content .booking-step.step-1 .room-btn.secondary {
    background: #fff;
    color: #111;
    border: 1px solid #ddd;
}

/* step-1 우측 summary */
.booking-wrap .booking-content .booking-step.step-1 .booking-right {
    width: 360px;
    flex-shrink: 0;
}

.booking-wrap .booking-content .booking-step.step-1 .booking-summary {
    background: #fff;
    padding: 24px;
    border: 1px solid #111;
    position: sticky;
    top: 120px;
    border-radius: 8px;
}

.booking-wrap .booking-content .booking-step.step-1 .summary-item {
    padding: 16px 0;
    border-bottom: 1px solid #eee;
}

.booking-wrap .booking-content .booking-step.step-1 .summary-item:last-child {
    border-bottom: none;
}

.booking-wrap .booking-content .booking-step.step-1 .summary-label {
    font-size: 13px;
    color: #999;
    margin-bottom: 6px;
}

.booking-wrap .booking-content .booking-step.step-1 .summary-value {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    color: #111;
}

.booking-wrap .booking-content .booking-step.step-1 .summary-value .arrow {
    font-size: 16px;
    color: #999;
}

/* step-2 *************************************/

.booking-step.step-2 .booking-reservation {
    display: flex;
    gap: 40px;
    width: 100%;
}

.booking-step.step-2 .booking-left {
    flex: 1;
}

.booking-step.step-2 .booking-right {
    width: 360px;
}

.booking-step.step-2 .form-wrap {
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.booking-step.step-2 .form-section {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.booking-step.step-2 .form-title {
    font-size: 20px;
    font-weight: 700;
}

.booking-step.step-2 .form-row {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.booking-step.step-2 .form-row input,
.booking-step.step-2 .form-row textarea,
.booking-step.step-2 .form-col input {
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
}

.booking-step.step-2 .form-col {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

/* 예약자 정보: 라벨 통일 (.form-field-label) */
.booking-step.step-2 .form-section:has(#customer_name) .form-field-label {
    font-size: 14px;
    font-weight: 400;
    color: #111;
    line-height: 1.4;
}

.booking-step.step-2 .form-col .custom-radio-wrap {
    margin: 0;
    max-width: none;
}

.booking-step.step-2 .summary-box {
    position: sticky;
    top: 100px;
    border: 1px solid #eee;
    padding: 24px;
    border-radius: 12px;
}

.booking-step.step-2 .summary-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 16px;
}

.booking-step.step-2 .summary-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.booking-step.step-2 .summary-list li {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
}

.booking-step.step-2 .total {
    margin-top: 20px;
    font-weight: 700;
    display: flex;
    justify-content: space-between;
}

.booking-step.step-2 .btn-submit {
    width: 100%;
    padding: 14px;
    background: #111;
    color: #fff;
    border-radius: 8px;
    cursor: pointer;
    display: inline-block;
    text-align: center;
}

.booking-step.step-2 .form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.booking-step.step-2 .policy-box {}

.booking-step.step-2 .policy-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: #f9f9f9;
    padding: 20px;
    border-radius: 10px;
}

.booking-step.step-2 .policy-list li {
    position: relative;
    padding-left: 12px;
    font-size: 14px;
    line-height: 1.6;
}

.booking-step.step-2 .policy-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 0;
}

.booking-step.step-2 .policy-table-wrap {
    margin-top: 16px;
}

.booking-step.step-2 .policy-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.booking-step.step-2 .policy-table th,
.booking-step.step-2 .policy-table td {
    padding: 10px 8px;
    border-bottom: 1px solid #eee;
}

/* 1열: 기준 → 좌측 */
.booking-step.step-2 .policy-table th:first-child,
.booking-step.step-2 .policy-table td:first-child {
    text-align: left;
}

/* 2열, 3열: 숫자 → 우측 */
.booking-step.step-2 .policy-table th:nth-child(2),
.booking-step.step-2 .policy-table th:nth-child(3),
.booking-step.step-2 .policy-table td:nth-child(2),
.booking-step.step-2 .policy-table td:nth-child(3) {
    text-align: right;
}

/* 헤더 */
.booking-step.step-2 .policy-table th {
    font-weight: 600;
    background: #fafafa;
}

/* 환불액 강조 */
.booking-step.step-2 .policy-table td:last-child {
    font-weight: 600;
}

.booking-step.step-2 .point {
    color: #e60023;
    font-weight: 600;
}

.booking-step.step-2 .box {
    background: #f9f9f9;
    border-radius: 12px;
    padding: 20px;
}

/* 세로형 */
.booking-step.step-2 .col {
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: #f9f9f9;
}

/* 가로형 */
.booking-step.step-2 .row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* 가로형 (양끝 정렬) — .row 와 동일 유틸 */
.booking-step.step-2 .row-between {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.booking-step.step-2 .booking-info {}

.booking-step.step-2 .info-inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* 체크인·체크아웃 가로 정렬 */
.booking-step.step-2 .booking-info .info-date-group {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
    width: 100%;
    padding: 16px;
    background: #fbfbfb;
    border-radius: 8px;
}

.booking-step.step-2 .booking-info .info-date-group .info-item {
    flex: 1;
    min-width: 0;
}

/* 인원 영역 (단일 블록) */
.booking-step.step-2 .booking-info .info-person-group {
    width: 100%;
    padding: 16px;
    background: #fbfbfb;
    border-radius: 8px;
}

.booking-step.step-2 .booking-info .info-date-group .info-item,
.booking-step.step-2 .booking-info .info-person-group .info-item {
    background: transparent;
    border-radius: 0;
}

/* 예약 내역: 체크인·체크아웃·인원 공통 */
.booking-step.step-2 .booking-info .info-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: #fbfbfb;
    border-radius: 8px;
}

.booking-step.step-2 .booking-info .info-item .lable {
    font-size: 13px;
    color: #888;
}

/* 예약 내역: 값 텍스트 통일 (객실명·날짜·인원) */
.booking-wrap .booking-step.step-2 .booking-value {
    font-size: 18px;
    font-weight: 600;
    color: #111;
    line-height: 1.4;
}

/* 객실 등 기타 라벨 (기존) */
.booking-step.step-2 .label {
    font-size: 13px;
    color: #888;
}

.booking-step.step-2 .room-left {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 16px;
    background: #fbfbfb;
    border-radius: 8px;
}

.booking-step.step-2 .room-left .lable {
    font-size: 13px;
    color: #888;
}

.booking-step.step-2 .room-left .room-item.row-between {
    width: 100%;
    gap: 12px;
}

.booking-step.step-2 .room-left .room-item.row-between .val-room {
    flex: 1;
    min-width: 0;
}

.booking-step.step-2 .btn-room-detail {
    padding: 6px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 13px;
    background: #fff;
    cursor: pointer;
}

.booking-step.step-2 .account-box {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.booking-step.step-2 .account-box .account-item {
    justify-content: flex-start;
    gap: 40px;
}

.booking-step.step-2 .notice-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    background: #fbfbfb;
    border-radius: 8px;
}

.booking-step.step-2 .notice-list li {
    position: relative;
    padding-left: 10px;
    font-size: 14px;
    line-height: 1.6;
}

.booking-step.step-2 .notice-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 0;
}

/* step2: 이용안내·환불규정 DB 본문 (notice-list / policy-list 와 유사 톤) */
.booking-step.step-2 .booking-notice-text {
    font-size: 14px;
    line-height: 1.6;
    color: #111;
    padding: 16px;
    background: #fbfbfb;
    border-radius: 8px;
}

.booking-step.step-2 .policy-box .booking-notice-text {
    background: #f9f9f9;
    border-radius: 10px;
    padding: 20px;
}

.booking-step.step-2 .custom-radio-wrap .ui-radio-group {
    flex-direction: row;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
}

/* ---------- 반응형 (파일 하단) ---------- */

@media (max-width:768px) {
    .booking-step.step-2 .form-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width:500px) {
    .booking-wrap .booking-inner {
        padding: 0 14px;
    }

    .booking-wrap .booking-content-area {
        width: 100%;
        min-width: 0;
    }

    .booking-wrap .booking-content {
        margin-top: 24px;
        width: 100%;
        min-width: 0;
    }

    .booking-wrap .booking-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        margin-bottom: 24px;
    }

    .booking-wrap .booking-title {
        font-size: 1.2rem;
    }

    .booking-wrap .step-indicator {
        flex-wrap: wrap;
        gap: 10px;
    }

    .booking-wrap .booking-header-area .booking-info {
        padding: 16px;
    }

    .booking-wrap .booking-header-area .info-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .booking-wrap .booking-content .booking-step.step-1,
    .booking-wrap .booking-content .booking-step.step-2 {
        width: 100%;
        min-width: 0;
    }

    .booking-wrap .booking-content .booking-step.active {
        flex-direction: column;
        gap: 24px;
        padding: 0 0 48px;
    }

    .booking-wrap .booking-room-trigger {
        position: sticky;
        /* 테마 고정 헤더(#header) 모바일 높이(약 60px) 아래에 붙음 */
        top: 60px;
        z-index: 20;
        margin-top: 16px;
        margin-bottom: 12px;
        padding: 10px 14px;
        background: #fff;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    }

    .booking-wrap .booking-room-trigger-btn {
        flex-wrap: wrap;
        padding: 12px 14px;
        gap: 10px;
    }

    .booking-wrap .booking-room-trigger-col:not(:last-child)::after {
        display: none;
    }

    .booking-wrap .booking-content .booking-step.step-1 .room-item {
        flex-direction: column;
        gap: 16px;
    }

    .booking-wrap .booking-content .booking-step.step-1 .room-thumb {
        width: 100%;
        height: 200px;
    }

    .booking-wrap .booking-content .booking-step.step-1 .room-bottom {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .booking-wrap .booking-content .booking-step.step-1 .room-btn-wrap {
        flex-wrap: wrap;
    }

    .booking-wrap .booking-content .booking-step.step-1 .booking-right {
        display: none;
    }

    .booking-wrap .booking-content .booking-step.step-1 .room-name {
        font-size: 18px;
    }

    .booking-wrap .booking-content .booking-step.step-1 .room-info .room-price {
        font-size: 20px;
    }

    .booking-wrap .booking-step.step-2 .booking-value {
        font-size: 16px;
    }

    /* step-2: 좌·우 2열 → 세로 스택 (이미지 구조: .booking-reservation) */
    .booking-wrap .booking-step.step-2 .booking-reservation {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
        width: 100%;
    }

    .booking-wrap .booking-step.step-2 .booking-left,
    .booking-wrap .booking-step.step-2 .booking-right {
        width: 100%;
        min-width: 0;
    }

    .booking-step.step-2 .booking-reservation {
        gap: 24px;
    }

    .booking-step.step-2 .form-wrap {
        gap: 32px;
    }

    .booking-step.step-2 .summary-box {
        position: static;
        top: auto;
    }

    .booking-step.step-2 .booking-info .info-date-group {
        flex-direction: column;
        gap: 12px;
    }

    .booking-step.step-2 .account-box .account-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

@media (max-width:320px) {
    .booking-wrap .booking-inner {
        padding: 0 12px;
    }

    .booking-wrap .booking-title {
        font-size: 1.1rem;
    }

    .booking-wrap .booking-header-area .hotel-name {
        font-size: 16px;
    }

    .booking-wrap .booking-header-area .info-text {
        font-size: 13px;
    }

    .booking-wrap .booking-room-trigger-btn {
        padding: 10px 12px;
    }

    .booking-wrap .booking-room-trigger-col .value {
        font-size: 13px;
    }

    .booking-wrap .booking-content .booking-step.step-1 .room-name {
        font-size: 17px;
    }

    .booking-wrap .booking-content .booking-step.step-1 .room-info .room-price {
        font-size: 18px;
    }

    .booking-wrap .booking-step.step-2 .booking-value {
        font-size: 15px;
    }

    .booking-wrap .booking-step.step-2 .booking-reservation {
        gap: 20px;
    }

    .booking-step.step-2 .form-title {
        font-size: 18px;
    }
}
