    /* Scoped bk-option style overrides from spa.css */
    .btn-back-list {
        flex-shrink: 0;
        width: 38px;
        height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #e8eaed;
        border-radius: 50%;
        background: #fff;
        color: #3c4043;
        box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
        transition:
            background-color 0.2s ease,
            border-color 0.2s ease,
            box-shadow 0.2s ease,
            color 0.2s ease;
    }

    .btn-back-list:hover {
        background: #f8f9fb;
        border-color: #d7dbe0;
        color: #111;
        box-shadow: 0 2px 6px rgba(16, 24, 40, 0.08);
    }

    .btn-back-list:active {
        box-shadow: none;
        background: #eef0f3;
    }

    .btn-back-list:focus-visible {
        outline: 2px solid #2563eb;
        outline-offset: 2px;
    }

    .btn-back-list svg {
        width: 20px;
        height: 20px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
        transition: transform 0.2s cubic-bezier(0.32, 0.72, 0, 1);
    }

    .btn-back-list:hover svg {
        transform: translateX(-2px);
    }

    .bk-hidden {
        display: none !important;
    }

    .bk-option {
        border: 1px solid #e5e7eb;
        border-radius: var(--qc-radius-control, 8px);
        padding: 28px 30px;
        background: #fff;
        margin-top: 20px;
    }

    .bk-option__title {
        font-size: 22px;
        font-weight: 700;
        color: #111;
        margin-bottom: 6px;
    }

    .bk-option__desc {
        font-size: 15px;
        color: #8a8f98;
        margin-bottom: 24px;
    }

    .bk-option__fields {
        display: flex;
        gap: 20px;
        margin-bottom: 24px;
    }

    .bk-field {
        flex: 1;
        min-width: 0;
    }

    .bk-field__label {
        display: block;
        font-size: 14px;
        font-weight: 600;
        color: #4b5563;
        margin-bottom: 8px;
    }

    .bk-select {
        width: 100%;
        height: 48px;
        padding: 0 36px 0 14px;
        border: 1px solid #d1d5db;
        border-radius: var(--qc-radius-xs, 4px);
        font-size: 15px;
        color: #111;
        background-color: #fff;
    }

    .bk-selected {
        margin-top: 24px;
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .bk-summary {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 20px;
        padding: 20px 115px 20px 20px;
        background: #f7f8fa;
        border: 1px solid #eceef1;
        border-radius: var(--qc-radius-control, 8px);
    }

    .bk-summary__left {
        flex: 1;
        min-width: 0;
    }

    .bk-summary__label {
        font-size: 13px;
        color: #9aa0a6;
        margin-bottom: 6px;
    }

    .bk-summary__value {
        font-size: 16px;
        font-weight: 700;
        color: #111;
    }

    .bk-summary__qty {
        font-size: 14px;
        color: #6b7280;
        margin-top: 6px;
    }

    .bk-summary__right {
        text-align: right;
    }

    .bk-summary__total-label {
        font-size: 15px;
        color: #4b5563;
        margin-right: 16px;
    }

    .bk-summary__amount {
        display: inline-block;
        font-size: 26px;
        font-weight: 800;
        color: #111;
    }

    .bk-summary__amount .bk-unit {
        font-size: 22px;
        font-weight: 800;
    }

    .bk-summary__tax {
        font-size: 12px;
        color: #9aa0a6;
        margin-top: 4px;
    }

    .bk-item-del {
        position: absolute;
        top: 14px;
        right: 14px;
        width: 28px;
        height: 28px;
        border: 1px solid #d9dce0;
        border-radius: var(--qc-radius-xs, 4px);
        background: #fff;
        color: #6b7280;
        font-size: 15px;
        line-height: 1;
        cursor: pointer;
    }

    .bk-item-del:hover {
        background: #eceef1;
        color: #111;
    }

    .bk-grand {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 16px;
        margin-top: 16px;
        padding-top: 16px;
        border-top: 1px solid #e6e8eb;
    }

    .bk-grand__label {
        font-size: 15px;
        font-weight: 700;
        color: #4b5563;
    }

    .bk-grand__amount {
        font-size: 26px;
        font-weight: 800;
        color: #111;
    }

    .bk-grand__amount .bk-unit {
        font-size: 22px;
        font-weight: 800;
    }

    .bk-actions {
        display: flex;
        justify-content: center;
        gap: 12px;
    }

    .bk-btn {
        min-width: 200px;
        height: 52px;
        border-radius: var(--qc-radius-xs, 4px);
        font-size: 16px;
        font-weight: 700;
        cursor: pointer;
    }

    .bk-btn--primary {
        background: #1a4bd0;
        color: #fff;
        border: 1px solid #1a4bd0;
    }

    .bk-btn--line {
        background: #fff;
        color: #1a4bd0;
        border: 1px solid #c7d2e8;
    }

    .bk-notice {
        margin-top: 20px;
        font-size: 13px;
        color: #e5001c;
    }

    @media screen and (max-width: 850px) {
        .bk-actions {
            flex-wrap: wrap !important;
            gap: 8px !important;
            padding: 0 10px !important;
        }

        .bk-btn {
            min-width: 0 !important;
            flex: 1 1 calc(50% - 8px) !important;
            height: 48px !important;
            font-size: 14px !important;
        }

        .bk-btn--primary {
            flex: 1 1 100% !important;
            order: -1 !important;
        }

        .bk-selected {
            margin-top: 3rem;
            gap: 1.6rem;
        }

        .bk-summary {
            flex-direction: column;
            align-items: flex-start;
            gap: 2rem;
            padding: 2.6rem 7rem 2.6rem 2.6rem;
        }

        .bk-summary__label {
            font-size: max(12px, 2rem);
        }

        .bk-summary__value {
            font-size: max(12px, 2.6rem);
        }

        .bk-summary__qty {
            font-size: max(12px, 2.2rem);
        }

        .bk-summary__right {
            width: 100%;
            text-align: left;
        }

        .bk-summary__total-label {
            font-size: max(12px, 2.2rem);
        }

        .bk-summary__amount {
            font-size: max(12px, 3.4rem);
        }

        .bk-summary__tax {
            font-size: max(12px, 1.9rem);
        }

        .bk-item-del {
            top: 2.2rem;
            right: 2.2rem;
            width: 5.6rem;
            height: 5.6rem;
            font-size: max(12px, 2.6rem);
            border-radius: var(--qc-radius-card, 16px);
        }

        .bk-grand__label {
            font-size: max(12px, 2.4rem);
        }

        .bk-grand__amount {
            font-size: max(12px, 3.6rem);
        }

        .bk-option {
            padding: 3rem 2.4rem;
            border-radius: var(--qc-radius-section, 24px);
        }

        .bk-option__title {
            font-size: max(12px, 3.2rem);
        }

        .bk-option__desc {
            font-size: max(12px, 2.2rem);
            margin-bottom: 3rem;
        }

        .bk-option__fields {
            flex-direction: column;
            gap: 2.4rem;
            margin: 0 0 3rem;
        }

        .bk-field__label {
            font-size: max(12px, 2.2rem);
            margin-bottom: 1rem;
        }

        .bk-select {
            height: 9rem;
            font-size: max(12px, 2.4rem);
            padding: 0 5rem 0 2rem;
            border-radius: var(--qc-radius-card, 16px);
        }

        .tour_type_group.only_mo {
            display: flex !important;
            margin-top: auto;
        }

        .tours-detail .rating-container {
            margin-top: 0;
        }

        .content-sub-hotel-detail .section1 .location-container .list-icon {
            margin-bottom: -1.5rem;
        }

        .section1 .flex_b_c {
            align-items: flex-start;
            margin-bottom: 1rem;
        }
    }
    .timetable_wrap {
        /* max-height: 1000px;
                    overflow: auto; */
        padding-bottom: 100px;

    }
    .tours-detail .section2 .text-content-1 {
        display: flex;
        gap: 20px;
        justify-content: flex-start;
        align-items: flex-end;
        width: 65%;
    }

    .tours-detail .section2 .text-content-1 h3 {
        margin-bottom: 20px;
    }

    .tours-detail .section2 .text-content-3 {
        display: flex;
        justify-content: flex-end;
        margin-top: 0;
    }

    .tours-detail .section2 .text-content-2 .ps-right {
        margin-left: 0;
    }

    .price-sub {
        display: flex;
        gap: 10px;
        align-items: flex-end;
    }

    .price-sub .ps-left {
        padding-bottom: 2px;
    }

    .price-sub .price {
        display: flex;
        justify-content: center;
        align-items: flex-end;
        flex-direction: column;
        gap: 5px;
    }

    .sec2-item-card {
        display: flex;
        justify-content: space-between;
    }

    .tours-detail .primary-btn-calendar.tour {
        position: absolute;
        bottom: 3%;
        left: 22%;
    }

    .tours-detail .primary-btn-calendar.btn-cart {
        position: absolute;
        bottom: 3%;
        left: 40%;
        border: 1px solid #dbdbdb;
        background-color: #fff;
        color: #252525;
    }

    .tours-detail .primary-btn-calendar.btn-contact {
        position: absolute;
        bottom: 3%;
        left: 58%;
        border: 1px solid #dbdbdb;
        background-color: #fff;
        color: #252525;
    }

    .sec2-date-main {
        padding: 10px;
        color: #fff;
        background-color: #31b3ff;
        margin-bottom: 2px;
        font-size: 14px;
    }

    .sec2-date-main .sec2-date-cont {
        gap: 20px;
    }

    .sec2-date-main .sec2-date-cont .sec2-date-icon {
        display: inline-block;
        width: 20px;
        height: 20px;
        background: url("/images/btn/btn down-arrow.png") no-repeat center/cover;
        background-size: 20px 20px;
    }

    .sec2-date-main .sec2-date-cont .sec2-date-icon {
        transition: transform 0.3s ease;
    }

    .sec2-date-main .sec2-date-cont .sec2-date-icon.rotated {
        transform: rotate(180deg);
    }

    .sec2-date-main .sec2-date-icon-wrap {
        gap: 10px;
    }

    .schedule_wrap .sub-title img {
        width: 100% !important;
    }

    .schedule_wrap img {
        margin-bottom: 10px !important;
    }

    .tours-detail .container-calendar .calendar-right {
        width: calc(60% - 40px);
    }

    .tours-detail .calendar-left {
        width: 40%;
    }

    .tours-detail .calendar-days div {
        width: 90%;
        height: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto;
    }

    .tours-detail .calendar-days .day {
        font-weight: bold;
    }

    .tours-detail .container-calendar {
        width: 100%;
        justify-content: space-between;
    }

    .tours-detail .quantity-container {
        width: 100%;
    }

    .tours-detail .calendar-container {
        margin-top: 0;
    }

    .tours-detail .calendar-days .day.disabled {
        /*background-color: #dbdbdb;*/
        color: #999999;
        font-weight: 500;
    }

    @media screen and (max-width: 850px) {

        .content-sub-hotel-detail .section2 .title-sec2 {
            font-size: max(12px, 3.4rem);
            margin-bottom: 7rem;
            flex-direction: column;
            gap: 1rem;
            align-items: start !important;
        }

        .tours-detail .calendar-weekdays div {
            padding: 1rem 2rem;
            font-size: max(12px, 2.6rem);
        }

        .quick-header-footer .icon-wrap-social {
            top: -222%;
        }

        .sec2-item-card.tour_calendar {
            display: block;
        }

        .sec2-date-main .sec2-date-cont {
            gap: 2rem;
            width: 100%;
        }

        .sec2-date-main .sec2-date-icon-wrap {
            gap: 1rem;
            width: 100%;
        }

        .sec2-date-main .sec2-date-cont .sec2-date-icon {
            display: inline-block;
            width: 4rem;
            height: 4rem;
            background-size: 4rem 4rem;
        }

        .tours-detail .section2 .text-content-1 {
            width: 100%;
        }

        .tours-detail .primary-btn-calendar.tour {
            position: absolute;
            bottom: 6%;
            left: 48%;
            width: 92%;
        }

        .tours-detail .section2 .sec2-item-card:last-child {
            padding-bottom: 3.6rem;
        }

        .sec2-date-main .sec2-date-cont {
            gap: 1rem;
            width: 100%;
            flex-wrap: wrap;
        }

        .tours-detail .primary-btn-calendar.btn-cart {
            position: absolute;
            bottom: 2%;
            left: 50%;
            border: 1px solid #dbdbdb;
            background-color: #fff;
            color: #252525;
            margin-left: 0 !important;
            width: 92%;
        }

        .sec2-item-card {
            flex-wrap: wrap;
        }

        .price-sub {
            display: flex;
            gap: 1rem;
            align-items: flex-end;
            width: 100%;
            justify-content: flex-end;
            white-space: nowrap;
        }

        .tours-detail .section2 .text-content-2 {
            width: 100%;
        }

        .primary-btn-calendar {
            display: none !important;
        }

        .tours-detail .section2 .sec2-date-main {
            font-size: max(12px, 3.4rem);
            margin-bottom: 2rem;
            flex-direction: column;
            justify-content: unset;
            align-items: unset;
            padding-left: 8rem;
            position: relative;
        }

        .sec2-date-main .sec2-date-icon-wrap {
            gap: 1rem;
            width: 100%;
            position: absolute;
            left: 2rem;
            top: 50%;
            transform: translateY(-50%);
        }

        .tours-detail .container-calendar .calendar-right,
        .tours-detail .calendar-left {
            width: 100%;
        }
    }

    .des-type table th,
    .des-type table td {
        border: 1px solid #dbdbdb;
    }

    /* Modal calendar custom styles */
    #new-calendar-days div {
        width: 36px !important;
        height: 36px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 auto !important;
        border-radius: 50% !important;
        font-weight: 600 !important;
        font-size: 14px !important;
        transition: all 0.2s !important;
        cursor: default !important;
        color: #d1d5db !important;
    }

    #new-calendar-days div.selectable {
        cursor: pointer !important;
        color: #111827 !important;
    }

    #new-calendar-days div.selectable:hover {
        background-color: #f3f4f6 !important;
    }

    #new-calendar-days div.active {
        background-color: #2563eb !important;
        color: #ffffff !important;
    }

    #new-calendar-days div.disabled {
        color: #d1d5db !important;
        cursor: not-allowed !important;
        background: transparent !important;
    }

.above-cus-content.no-address {
    margin-top: -12px;
}

.tour_content_desc.flex {
    display: flex;
    gap: 20px;
    margin-bottom: 24px;
}

.tour_content_desc.flex .product_info {
    flex: 1;
    min-width: 0;
}

.title-sec3 {
    font-size: 22px;
    font-weight: 700;
    color: #1a1a2e;
    margin-top: 40px;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 2px solid #f0f0f5;
}

.btn-back-list {
    cursor: pointer;
    background: #fff;
    border: 1px solid #e8eaed;
}

@media screen and (max-width: 850px) {
    .tour_content_desc.flex {
        flex-direction: column;
        gap: 16px;
    }
}
