/* CTA đáy thẻ list — đồng bộ toàn site (mobile + desktop list cards) */
/* v=20260817pgx03d - fix tràn CTA mobile (min-width:0) + đồng đều card + tap target 44px */

/* ROOT FIX tràn ngang: mọi flex item trong khối card/booking phải co được.
   Trong flexbox min-width mặc định là auto → item không co dưới content →
   padding của nút đẩy tràn mép phải. Cho phép co bằng min-width:0. */
.wapbooking,
.wapbooking > *,
.item-booking,
.item-booking > *,
.items-booking,
.items-booking > *,
.items_child--bottom,
.items_child--bottom > *,
.pg-list-card-booking-zone,
.pg-list-card-booking-zone > *,
.pg-list-venue-card .item-child-info,
.pg-list-venue-card .item-child-info > *,
.pg-cta-xfine-stack,
.pg-cta-xfine-stack > * {
    min-width: 0;
}

/* Vùng đặt nút CTA trên các layout thẻ gian hàng */
.pg-list-card-booking-zone > a.btn-booking,
.pg-list-card-booking-zone > button.btn-booking,
.pg-list-card-booking-zone > a.btn-booking-mobile,
.pg-list-card-booking-zone > button.btn-booking-mobile,
.pg-list-card-booking-zone > .btn_booking--item,
.pg-list-card-booking-zone > .btn-phone-call,
.items_child--bottom > a.btn-booking,
.items_child--bottom > button.btn-booking,
.items_child--bottom > a.btn-booking-mobile,
.items_child--bottom > button.btn-booking-mobile,
.items_child--bottom .btn_booking--item.btn-booking,
.items_child--bottom .btn_booking--item.btn-booking-mobile,
.items-booking > a.btn-booking,
.items-booking > button.btn-booking,
.items-booking > a.btn-booking-mobile,
.items-booking > button.btn-booking-mobile,
.wapbooking > a.btn-booking,
.wapbooking > button.btn-booking,
.wapbooking > a.btn-booking-mobile,
.wapbooking > button.btn-booking-mobile,
.item-booking > a.btn-booking,
.item-booking > button.btn-booking,
.item-booking > a.btn-booking-mobile,
.item-booking > button.btn-booking-mobile {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    color: #fff !important;
    background-color: #d02028 !important;
    background: #d02028 !important;
    padding: 8px 10px;
    min-height: 36px;
    border: none !important;
    outline: none;
    border-radius: 5px;
    text-decoration: none !important;
    text-align: center;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    -webkit-appearance: none;
    appearance: none;
}

.pg-list-card-booking-zone > a.btn-booking:hover,
.pg-list-card-booking-zone > button.btn-booking:hover,
.pg-list-card-booking-zone > a.btn-booking-mobile:hover,
.pg-list-card-booking-zone > button.btn-booking-mobile:hover,
.items_child--bottom > a.btn-booking:hover,
.items_child--bottom > button.btn-booking:hover,
.items_child--bottom > a.btn-booking-mobile:hover,
.items_child--bottom > button.btn-booking-mobile:hover,
.items_child--bottom .btn_booking--item.btn-booking:hover,
.items_child--bottom .btn_booking--item.btn-booking-mobile:hover,
.items-booking > a.btn-booking:hover,
.items-booking > button.btn-booking:hover,
.items-booking > a.btn-booking-mobile:hover,
.items-booking > button.btn-booking-mobile:hover,
.wapbooking > a.btn-booking:hover,
.wapbooking > button.btn-booking:hover,
.wapbooking > a.btn-booking-mobile:hover,
.wapbooking > button.btn-booking-mobile:hover,
.item-booking > a.btn-booking:hover,
.item-booking > button.btn-booking:hover,
.item-booking > a.btn-booking-mobile:hover,
.item-booking > button.btn-booking-mobile:hover {
    color: #fff !important;
    background-color: #b81c22 !important;
    background: #b81c22 !important;
}

/* Gọi điện — outline đỏ, cùng khối nút */
.pg-list-card-booking-zone > .btn-phone-call,
.items_child--bottom > .btn-phone-call,
.items-booking > .btn-phone-call,
.wapbooking > .btn-phone-call,
.item-booking > .btn-phone-call {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    padding: 8px 10px;
    min-height: 36px;
    border-radius: 5px;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    color: #d02028 !important;
    background: #fff !important;
    border: 1px solid #d02028 !important;
}

.pg-list-card-booking-zone > .btn-phone-call:hover,
.items_child--bottom > .btn-phone-call:hover,
.items-booking > .btn-phone-call:hover,
.wapbooking > .btn-phone-call:hover,
.item-booking > .btn-phone-call:hover {
    color: #fff !important;
    background: #d02028 !important;
}

/* xFine trên thẻ list: giữ màu PasGo như CTA thường, provider nằm ngoài nút */
.pg-list-card-booking-zone > .pg-cta-xfine.btn-booking,
.pg-list-card-booking-zone > .pg-cta-xfine.btn-booking-mobile,
.items_child--bottom .pg-cta-xfine.btn-booking,
.items_child--bottom .pg-cta-xfine.btn-booking-mobile,
.items-booking > .pg-cta-xfine.btn-booking,
.items-booking > .pg-cta-xfine.btn-booking-mobile,
.wapbooking > .pg-cta-xfine.btn-booking,
.wapbooking > .pg-cta-xfine.btn-booking-mobile,
.item-booking > .pg-cta-xfine.btn-booking,
.item-booking > .pg-cta-xfine.btn-booking-mobile {
    background-color: #d02028 !important;
    background: #d02028 !important;
    color: #fff !important;
    border: none !important;
}

.pg-list-card-booking-zone > .pg-cta-xfine.btn-booking:hover,
.pg-list-card-booking-zone > .pg-cta-xfine.btn-booking-mobile:hover,
.items_child--bottom .pg-cta-xfine.btn-booking:hover,
.items_child--bottom .pg-cta-xfine.btn-booking-mobile:hover,
.items-booking > .pg-cta-xfine.btn-booking:hover,
.items-booking > .pg-cta-xfine.btn-booking-mobile:hover,
.wapbooking > .pg-cta-xfine.btn-booking:hover,
.wapbooking > .pg-cta-xfine.btn-booking-mobile:hover,
.item-booking > .pg-cta-xfine.btn-booking:hover,
.item-booking > .pg-cta-xfine.btn-booking-mobile:hover {
    background-color: #b81c22 !important;
    background: #b81c22 !important;
    color: #fff !important;
}

.pg-list-card-booking-zone > .btn__booking--disabled,
.items_child--bottom > .btn__booking--disabled,
.items-booking > .btn__booking--disabled,
.wapbooking > .btn__booking--disabled,
.item-booking > .btn__booking--disabled {
    pointer-events: none;
    cursor: not-allowed;
    opacity: 0.65;
    background: #ebebeb !important;
    color: #6b7280 !important;
    border: none !important;
}

/* Khoảng cách CTA với nội dung phía trên */
.items_child--bottom,
.items-booking,
.pg-list-card-booking-zone,
.item-booking,
.wapper-content .items-content .wapbooking {
    margin-top: 8px;
    width: 100%;
    box-sizing: border-box;
}

.items_child--bottom:has(.pg-cta-xfine),
.items-booking:has(.pg-cta-xfine),
.pg-list-card-booking-zone:has(.pg-cta-xfine),
.item-booking:has(.pg-cta-xfine),
.wapper-content .items-content .wapbooking:has(.pg-cta-xfine) {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
}

.pg-cta-xfine-stack {
    display: flex !important;
    width: 100%;
    flex-direction: column !important;
    align-items: stretch !important;
}

.pg-cta-xfine-stack > .pg-cta-xfine.btn-booking,
.pg-cta-xfine-stack > .pg-cta-xfine.btn-booking-mobile,
.pg-cta-xfine-stack > .pg-cta-xfine.btn_booking--item {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    color: #fff !important;
    background-color: #d02028 !important;
    background: #d02028 !important;
    padding: 8px 12px;
    min-height: 36px;
    border: none !important;
    border-radius: 5px;
    text-align: center;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    overflow-wrap: anywhere;
    word-break: normal;
}

.pg-cta-xfine-stack > .pg-cta-xfine.btn-booking:hover,
.pg-cta-xfine-stack > .pg-cta-xfine.btn-booking-mobile:hover,
.pg-cta-xfine-stack > .pg-cta-xfine.btn_booking--item:hover {
    color: #fff !important;
    background-color: #b81c22 !important;
    background: #b81c22 !important;
}

.items_child--bottom .pg-cta-xfine-note,
.items-booking .pg-cta-xfine-note,
.pg-list-card-booking-zone .pg-cta-xfine-note,
.item-booking .pg-cta-xfine-note,
.wapper-content .items-content .wapbooking .pg-cta-xfine-note {
    display: block;
    width: 100%;
    margin-top: 4px;
    color: #6b7280;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
    box-sizing: border-box;
}

/* ==== ĐỒNG ĐỀU CARD: khối booking luôn dính đáy để CTA baseline-align ====
   Không dùng min-height magic number; dùng flex column + margin-top:auto
   để v-ùng CTA tự đẩy xuống đáy dù content trên dài/ngắn khác nhau. */
.pg-list-venue-card > .item-child {
    display: flex;
    height: 100%;
}
.pg-list-venue-card .item-child-info {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}
.pg-list-venue-card .item-child-info > .item-booking,
.pg-list-venue-card .item-child-info > .items-booking {
    margin-top: auto;
}

.pg-list-venue-card .item-link-desc {
    display: flex;
    flex-direction: column;
    min-height: 112px;
}

.pg-list-venue-card .pg-list-title-row {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
}

.pg-list-venue-card .pg-list-title-row h3,
.pg-list-venue-card .pg-list-title-row .item-child-headline {
    flex: 1 1 auto;
    min-width: 0;
}

.pg-xfine-partner-badge {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    min-height: 18px;
    padding: 1px 6px;
    border: 1px solid #f2c7c9;
    border-radius: 4px;
    background: #fff5f5;
    color: #b81c22;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.25;
}

.pg-list-venue-card .item-sale,
.pg-list-venue-card .item-tag {
    min-height: 18px;
}

.pg-list-slot-placeholder {
    visibility: hidden;
}

/* ==== TAP TARGET ≥ 44px trên mobile (≤768px) ==== */
@media (max-width: 768px) {
    .pg-list-venue-card > .item-child {
        min-width: 0;
        max-width: 100%;
    }

    .pg-list-venue-card .item-child-rate {
        flex: 0 0 auto;
        min-width: 0;
    }

    .pg-list-venue-card .item-child-info {
        flex: 1 1 0;
        width: auto !important;
        max-width: 100%;
        overflow: hidden;
    }

    .pg-list-venue-card .item-child-info > .item-booking,
    .pg-list-venue-card .item-child-info > .items-booking,
    .pg-list-venue-card .pg-cta-xfine-stack {
        max-width: 100%;
        overflow: hidden;
    }

    .pg-cta-xfine-stack > .pg-cta-xfine.btn-booking,
    .pg-cta-xfine-stack > .pg-cta-xfine.btn-booking-mobile,
    .pg-cta-xfine-stack > .pg-cta-xfine.btn_booking--item,
    .wapbooking > a.btn-booking,
    .wapbooking > button.btn-booking,
    .wapbooking > a.btn-booking-mobile,
    .wapbooking > button.btn-booking-mobile,
    .item-booking > a.btn-booking,
    .item-booking > button.btn-booking,
    .item-booking > a.btn-booking-mobile,
    .item-booking > button.btn-booking-mobile,
    .items-booking > a.btn-booking,
    .items-booking > button.btn-booking,
    .items-booking > a.btn-booking-mobile,
    .items-booking > button.btn-booking-mobile,
    .items_child--bottom > a.btn-booking,
    .items_child--bottom > button.btn-booking,
    .items_child--bottom > a.btn-booking-mobile,
    .items_child--bottom > button.btn-booking-mobile,
    .item-booking > .btn-phone-call,
    .wapbooking > .btn-phone-call {
        min-height: 44px;
    }
}

/* Ghi đè tag/search inline CSS (specificity cao, load sau @section metas) */
.wapper-content .area-viewed .items .items-content .wapbooking > a.btn-booking,
.wapper-content .area-viewed .items .items-content .wapbooking > a.btn-booking-mobile,
.wapper-content .area-viewed .items .items-content .wapbooking > button.btn-booking,
.wapper-content .area-viewed .items .items-content .wapbooking > button.btn-booking-mobile,
.wapper-content .boxed-main .items .items-content .wapbooking > a.btn-booking,
.wapper-content .boxed-main .items .items-content .wapbooking > a.btn-booking-mobile,
.wapper-content .boxed-main .items .items-content .wapbooking > button.btn-booking,
.wapper-content .boxed-main .items .items-content .wapbooking > button.btn-booking-mobile,
.wapper-content .product .items-common .wapbooking > a.btn-booking,
.wapper-content .product .items-common .wapbooking > a.btn-booking-mobile,
.wapper-content .boxed-main .items_child--bottom > a.btn-booking,
.wapper-content .boxed-main .items_child--bottom > a.btn-booking-mobile,
.wapper-content .boxed-main .items_child--bottom > button.btn-booking,
.wapper-content .boxed-main .items_child--bottom > button.btn-booking-mobile,
.wapper-content .items .items-booking > a.btn-booking,
.wapper-content .items .items-booking > a.btn-booking-mobile,
.wapper-content .items .items-booking > button.btn-booking,
.wapper-content .items .items-booking > button.btn-booking-mobile {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    color: #fff !important;
    background-color: #d02028 !important;
    background: #d02028 !important;
    padding: 8px 10px;
    min-height: 36px;
    border: none !important;
    outline: none;
    border-radius: 5px;
    text-decoration: none !important;
    text-align: center;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
}

.wapper-content .area-viewed .items .items-content .wapbooking > .pg-cta-xfine.btn-booking,
.wapper-content .area-viewed .items .items-content .wapbooking > .pg-cta-xfine.btn-booking-mobile,
.wapper-content .boxed-main .items .items-content .wapbooking > .pg-cta-xfine.btn-booking,
.wapper-content .boxed-main .items .items-content .wapbooking > .pg-cta-xfine.btn-booking-mobile,
.wapper-content .items .items-booking > .pg-cta-xfine.btn-booking,
.wapper-content .items .items-booking > .pg-cta-xfine.btn-booking-mobile {
    background-color: #d02028 !important;
    background: #d02028 !important;
    color: #fff !important;
}

.wapper-content .area-viewed .items .items-content .wapbooking > .btn-phone-call,
.wapper-content .boxed-main .items .items-content .wapbooking > .btn-phone-call,
.wapper-content .items .items-booking > .btn-phone-call,
.wapper-content .boxed-main .items_child--bottom > .btn-phone-call {
    color: #d02028 !important;
    background: #fff !important;
    border: 1px solid #d02028 !important;
}
