/* =========================================================
   BOOKING WIDGET CSS
   - Add this file's <link> in <head>, after css/style.css
   - Does NOT touch .form-group / .form-control / .site-button
========================================================= */

.trv-book-widget{ margin-top:20px; }
.trv-book-block{ margin-bottom:30px; }
.trv-book-heading{
    font-size:18px;
    font-weight:700;
    margin-bottom:12px;
}

/* ---- City Tabs ---- */
.trv-book-city-tabs{ display:flex; flex-wrap:wrap; gap:10px; }
.trv-book-tab{
    padding:10px 22px;
    border-radius:30px;
    border:1px solid #e2e2e2;
    background:#fff;
    font-weight:600;
    font-size:14px;
    cursor:pointer;
    transition:all .25s ease;
}
.trv-book-tab.active,
.trv-book-tab:hover{
    background:#14212b;
    color:#fff;
    border-color:#14212b;
}

/* ---- Selected date line ---- */
.trv-book-selected-date{
    font-size:13px;
    color:#f4762a;
    font-weight:600;
    margin-bottom:14px;
}

/* ---- Month Tabs ---- */
.trv-book-month-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:18px;
}
.trv-book-month{
    padding:8px 18px;
    border-radius:25px;
    border:1px solid #e2e2e2;
    background:#fff;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
    transition:all .25s ease;
}
.trv-book-month.active{
    background:#f4762a;
    color:#fff;
    border-color:#f4762a;
}
.trv-book-month:hover{ border-color:#f4762a; }

/* ---- Date Cards ---- */
.trv-book-date-cards{ display:flex; flex-wrap:wrap; gap:14px; }
.trv-book-date-card{
    min-width:120px;
    padding:14px 16px;
    border-radius:10px;
    border:1px solid #e2e2e2;
    text-align:center;
    cursor:pointer;
    transition:all .25s ease;
    background:#fff;
}
.trv-book-date-card:hover{ border-color:#14212b; }
.trv-book-date-card.active{
    background:#14212b;
    border-color:#14212b;
}
.trv-book-date-main{
    display:block;
    font-weight:700;
    font-size:15px;
    line-height:1.3;
    margin-bottom:6px;
    color:#14212b;
}
.trv-book-date-card.active .trv-book-date-main{ color:#fff; }
.trv-book-date-seats{
    display:inline-block;
    font-size:11px;
    font-weight:700;
    color:#f4762a;
    letter-spacing:.4px;
}
.trv-book-date-card.active .trv-book-date-seats{ color:#e96a00; }
.trv-book-date-card.disabled{
    opacity:.45;
    pointer-events:none;
}
.trv-book-date-placeholder{
    font-size:14px;
    color:#8a8a8a;
    font-style:italic;
}

/* ---- Slots Table ---- */
.trv-book-slots-table-wrap{
    border:1px solid #ececec;
    border-radius:10px;
    overflow:hidden;
}
.trv-book-slots-table{
    width:100%;
    border-collapse:collapse;
    font-size:14px;
}
.trv-book-slots-table thead th{
    background:#3a3a3a;
    text-align:left;
    padding:12px 16px;
    font-size:12px;
    letter-spacing:.5px;
    text-transform:uppercase;
    color:#fff;
}
.trv-book-slots-table tbody td{
    padding:12px 16px;
    border-top:1px solid #f0f0f0;
    font-weight:600;
    color:#14212b;
}
.trv-book-slots-table tbody tr.trv-row-active td{
    background:#efffff;
}
.trv-book-status{
    display:inline-block;
    padding:3px 12px;
    border-radius:20px;
    font-size:12px;
    font-weight:700;
}
.trv-book-status.available{ background:#e5f7ec; color:#1ba85e; }
.trv-book-status.filling{ background:#fdf1e2; color:#e08f1c; }
.trv-book-status.soldout{ background:#fbe7e7; color:#e14b4b; }

/* ---- Right Price Card ---- */
.trv-book-price-card{
    background:#fff;
    border:1px solid #ececec;
    border-radius:14px;
    padding:24px;
    box-shadow:0 10px 30px rgba(20,33,43,.06);
    position:sticky;
    top:20px;
}
.trv-book-badge{
    display:inline-block;
    background:#9b0071;
    color:#fff;
    font-size:11px;
    font-weight:700;
    letter-spacing:.5px;
    padding:5px 12px;
    border-radius:5px;
    margin-bottom:12px;
}
.trv-book-price-title{
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 5px;
    color:#eb6b01;
}
.trv-book-price-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 0;
    font-size:14px;
    color:#6b6b6b;
    border-bottom:1px dashed #eee;
}
.trv-book-price-row strong{ color:#14212b; font-size:14px; }
.trv-book-duration-select{
    border:1px solid #e2e2e2;
    border-radius:6px;
    padding:6px 10px;
    font-size:13px;
    font-weight:600;
    color:#14212b;
    max-width:190px;
}
.trv-book-counter{
    display:flex;
    align-items:center;
    gap:12px;
}
.trv-book-counter-btn{
    width:26px;
    height:26px;
    border-radius:50%;
    border:1px solid #d8d8d8;
    background:#fff;
    font-weight:700;
    line-height:1;
    cursor:pointer;
}
.trv-book-counter-btn:hover{ background:#14212b; color:#fff; border-color:#14212b; }
.trv-book-counter span{ min-width:16px; text-align:center; font-weight:700; color:#14212b; }

.trv-book-total-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 0 20px;
    font-size:15px;
    font-weight:700;
    color:#14212b;
}
.trv-book-total-row strong{
    color:#f4762a;
    font-size:20px;
}
.trv-book-enquire-btn{ 
    /*width:100%; */
    text-align:center;
}

/* ---- Enquiry Popup frozen summary ---- */
.trv-enq-popup-summary{
    position:sticky;
    top:0;
    z-index:5;
    background:#f9f7f4;
    border-bottom:1px solid #ececec;
    padding:14px 24px;
    display:flex;
    flex-wrap:wrap;
    gap:18px 28px;
}
.trv-enq-summary-item{
    display:flex;
    flex-direction:column;
    font-size:11px;
    color:#8a8a8a;
    text-transform:uppercase;
    letter-spacing:.4px;
}
.trv-enq-summary-item strong{
    font-size:14px;
    color:#14212b;
    text-transform:none;
    margin-top:3px;
}

@media (max-width:767px){
    .trv-book-price-card{ position:static; margin-top:30px; }
}

/* ---- Enquiry popup: Adult/Child/Infant quantity boxes ---- */
.quantity.btn-quantity2{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.trv-enq-qty-box{
    display:flex;
    align-items:center;
    gap:12px;
    border:1px solid #e2e2e2;
    border-radius:8px;
    padding:8px 12px;
    width:fit-content;
}
.trv-enq-qty-input{
    width:26px;
    text-align:center;
    border:none;
    font-weight:700;
    color:#14212b;
    background:transparent;
}
.trv-enq-qty-price{
    font-size:12px;
    font-weight:700;
    color:#f4762a;
}

/* ---- Enquiry popup: live price breakdown ---- */
.trv-enq-price-breakdown{
    margin-top:6px;
    margin-bottom:10px;
    padding:14px 18px;
    background:#f9f7f4;
    border-radius:10px;
}
.trv-enq-price-breakdown .trv-book-price-row{ border-bottom:1px dashed #e6e2da; }
.trv-enq-price-breakdown .trv-book-total-row{ padding-bottom:4px; }

/* ---- FULL / Sold-out date card & slot row (auto freeze) ---- */
.trv-book-date-card.disabled{
    background:#f5f5f5;
    border-color:#e2e2e2;
    cursor:not-allowed;
}
.trv-book-date-card.disabled .trv-book-date-main{ color:#a8a8a8; }
.trv-book-date-card.disabled .trv-book-date-seats{ color:#e14b4b; }

.trv-book-slots-table tbody tr.trv-row-soldout{
    opacity:.6;
    cursor:not-allowed;
}
.trv-book-slots-table tbody tr:not(.trv-row-soldout){ cursor:pointer; }

/* ---- Frozen (readonly) field in enquiry popup - Package Name ---- */
.trv-enq-frozen-field{
    background:#f5f3ef !important;
    color:#14212b;
    cursor:not-allowed;
}