/* Fix: sorting.css sets overflow-x:hidden on html/body which breaks position:sticky.
   overflow-x:clip clips horizontal overflow without creating a scroll container. */
html, body { overflow-x: clip !important; }

.messagehead span.badge{padding: 5px;font-size: 12px;}

@media (max-width: 767px) {
    .galleryimage {
        height: 80px;
        object-fit: cover;
    }
    .rateleft { width: 18px; }
    #toast-container { position: fixed; z-index: 999999; pointer-events: none; bottom: 90px; }
    .toast-success{ width: 97% !important; }
    .mlprice{font-size: 16px!important;}
    .rating_section{padding: 0px!important;}
    .ratingline { width: 73%!important; left: 15%!important; }
    .ratecount { margin-left: 80% !important; }
    .review_summary .tab { margin-right: 15px; padding-bottom: 8px; cursor: pointer; font-weight: bold; color: #555; }
    #loadMoreBtn { padding: 10px 22px; border: 1px solid darkgrey; border-radius: 15px; background: #fff; }
    .tabs .tab, .tabs .tab i{font-size: 14px;}
    body { padding-bottom: 80px; }
}
@media(min-width:768px) {
    .ratecount{ margin-left: 93%!important; }
    .review_summary .tab { margin-right: 25px; padding-bottom: 8px; cursor: pointer; font-weight: bold; color: #555; }
    #loadMoreBtn{ padding: 10px 30px; border: 1px solid darkgrey; border-radius: 15px; background: #fff; }
}
.toast{ width:100%; height:80px; background-color:#fff!important; display:flex; align-items:center; padding:10px 15px; border-radius:8px; }
.toast-success{border: 1px solid #008844; border-left: 5px solid #008844; }
.toast-message{color: #444!important;padding-top:10px; }
.toast-close-button{color: #444!important;}
#toast-container>div {opacity: 1!important;}
#toast-container>.toast-success {background-image: url('<?=base_url('usergroupicon.png')?>') !important;height: max-content !important;}
section.whitecard { margin-bottom: 20px; }
.listingtitlecls{font-size: 2.5rem;}
.mt60{ margin-top:65px; }
.review_summary{ margin: 30px auto; background: #fff; border-radius: 8px; padding: 20px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.review_summary .tabs { display: flex; border-bottom: 1px solid #ddd; margin-bottom: 15px; }
.review_summary .tab.active { border-bottom: 2px solid #000; color: #000; }
.review_summary .tab i { margin-right: 6px; }
.tabs .tab i{font-size: 18px;}
.review_summary .content { display: none; }
.review_summary .content.active { display: block; }
.review_summary ul { padding-left: 20px; }
.review_summary li { margin-bottom: 10px; line-height: 1.5; }
.ai-badge { display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border-radius:8px; background:#eaf2ff; color:#2f5fb3; font-size:13px; font-weight:600; border:1px solid #cfe0ff; }
.ai-badge .icon img{ width:20px; }
.reviewratinglabel{ color:#2f8f79; background-color:#e6f4ef; padding:5px 10px; border-radius:10px; font-size:14px; }
.ratingline{ width: 87%; left: 5%; }
.star.full { color: #f5a623; font-size: 20px; }
.star.empty { color: #ccc; font-size: 20px; }
.star.half { position:relative; display:inline-block; color:#ccc; font-size:20px; }
.star.half::before { content:'★'; position:absolute; left:0; width:50%; overflow:hidden; color:#f5a623; }
#loadMoreBtn:hover{ border-color: #f5a623; color: #e34212; }
.reviewslist .circleimg{ width:60px!important; height:60px!important; }
#customer_review_div hr:last-of-type { display: none; }
.lovedui li::marker {color: #22C55E;}
.mindui li::marker{color: #FACC15;}
span.bigrating { display:block; font-size:60px; font-weight:900; padding:0px 36px; }
.rating_section{ margin:auto; background:#fff; border-radius:8px; padding:20px; box-shadow:0 2px 8px rgba(0,0,0,.1); }
.greysmfont{color: grey;}
.greyfontsummery{color: grey;font-size: 14px;}
.ui-datepicker { z-index: 99999 !important; }

/* Mosaic gallery */
.pkg-mosaic { overflow: hidden; border-radius: 12px; }
.pkg-mosaic-hero { position: relative; }
.pkg-mosaic-img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 8px; }
.pkg-mosaic-hero, .pkg-mosaic-hero .pkg-mosaic-img { height: 360px; }
.pkg-mosaic-thumb { height: 175px; }
.pkg-mosaic-empty { background: #e0e0e0; height: 175px; border-radius: 8px; }
@media (max-width: 767px) {
    .pkg-mosaic-hero, .pkg-mosaic-hero .pkg-mosaic-img { height: 200px; }
    .pkg-mosaic-thumb { height: 97px; }
    .pkg-mosaic-empty { height: 97px; }
}
/* Fix overlay centering */
.pkg-mosaic .showmore {
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0; left: 0;
    width: 100%; height: 100%;
    border-radius: 8px;
    margin: 0;
}
.pkg-mosaic .smoretext { margin-top: 0 !important; }
.pkg-mosaic .showmore { border-radius: 8px; }
@media (min-width: 768px) { .pkg-mosaic .pkg-overlay-mobile { display: none !important; } }

/* Utility classes */
.pkg-extra-fac-hidden { display: none; }
.pkg-badge-lg { font-size: 1rem; }

/* Trip quick-info chips */
.pkg-chips-row { padding: 16px 20px; }
.pkg-chip { display: flex; align-items: center; gap: 12px; padding: 14px 20px; }
.pkg-chip-icon { font-size: 26px; color: #555; flex-shrink: 0; }
.pkg-chip-label { font-size: 12px; color: #888; margin-bottom: 2px; }
.pkg-chip-value { font-size: 14px; font-weight: 600; color: #222; }
@media (max-width: 767px) {
    .pkg-chip { padding: 10px 14px; gap: 10px; }
    .pkg-chip-icon { font-size: 22px; }
    .pkg-chip:nth-child(1), .pkg-chip:nth-child(3) { border-right: 1px solid #eee; }
    .pkg-chip:nth-child(1), .pkg-chip:nth-child(2) { border-bottom: 1px solid #eee; }
}

/* v2 booking widget — sticky container */
.pkg-sticky-sidebar {
    position: sticky;
    top: 24px;
    overflow-y: auto;
    overflow-x: hidden;
}
@media(max-width:767px){ .pkg-sticky-sidebar { display: none; } }

/* bw--improved widget */
.bw--improved {
    --cta:#F5C842;--cta-hover:#FFD354;--cta-press:#EAB924;
    --trust:#16864A;--trust-tint:#E5F4EC;
    --ink:#15171C;--ink-2:#2A2D35;
    --muted:#7A8089;--muted-2:#B5BAC2;
    --rule:#E6E7EB;--rule-strong:#D2D5DB;
    --selected-tint:#FFF6D9;--selected-ink:#B98D08;
    --shadow-card:0 4px 18px rgba(20,22,28,.06),0 1px 2px rgba(20,22,28,.04);
    font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
    font-size:14px;line-height:1.45;color:var(--ink);
    -webkit-font-smoothing:antialiased;letter-spacing:-.005em;
    width:100%;background:#fff;border-radius:18px;
    box-shadow:var(--shadow-card);border:1px solid var(--rule);
}
.bw--improved *{box-sizing:border-box;}
.bw--improved .head{padding:22px 24px 18px;border-bottom:1px solid var(--rule);}
.bw--improved .price-row{display:flex;align-items:baseline;gap:6px;}
.bw--improved .price-curr{font-weight:600;font-size:15px;color:var(--muted);}
.bw--improved .price-amt{font-weight:800;font-size:40px;letter-spacing:-.028em;color:var(--ink);line-height:1;}
.bw--improved .price-per{color:var(--muted);font-size:13px;margin-top:6px;}
.bw--improved .price-per b{color:var(--ink);font-weight:600;}
.bw--improved .trust-row{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap;}
.bw--improved .trust{display:inline-flex;align-items:center;gap:6px;color:var(--trust);font-size:12px;font-weight:500;}
.bw--improved .trust .dot{width:15px;height:15px;background:var(--trust);color:#fff;border-radius:50%;font-size:9px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;}
.bw--improved .rating{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2);}
.bw--improved .rating .stars{color:#F5A623;}
.bw--improved .rating .count{color:var(--muted);}
.bw--improved .trip-line{margin-top:12px;display:flex;align-items:center;gap:10px;padding:9px 11px;background:#F8F9FB;border-radius:10px;font-size:12px;}
.bw--improved .trip-line .ico{width:26px;height:26px;background:#fff;border:1px solid var(--rule);border-radius:7px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink-2);}
.bw--improved .trip-line .ttl{font-weight:600;color:var(--ink);font-size:12px;line-height:1.3;}
.bw--improved .trip-line .meta{color:var(--muted);font-size:11px;line-height:1.3;}
.bw--improved .sec{padding:16px 24px;border-bottom:1px solid var(--rule);}
.bw--improved .sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.bw--improved .sec-title{font-weight:700;font-size:13px;display:flex;align-items:center;gap:7px;}
.bw--improved .sec-title .ico{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);}
.bw--improved .sec-side{font-size:11px;color:var(--muted);}
.bw--improved .chips{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;}
.bw--improved .chip{border:1px solid var(--rule);border-radius:9px;background:#fff;padding:7px 3px 9px;text-align:center;cursor:pointer;transition:border-color .12s,background .12s;user-select:none;position:relative;}
.bw--improved .chip:hover{border-color:var(--ink-2);background:#FAFAFB;}
.bw--improved .chip .dow{font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--muted);}
.bw--improved .chip .day{font-weight:800;font-size:16px;letter-spacing:-.02em;margin-top:1px;line-height:1.05;}
.bw--improved .chip .mon{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:1px;font-weight:500;}
.bw--improved .chip.selected{border-color:var(--ink);border-width:2px;background:var(--selected-tint);padding:6px 2px 8px;}
.bw--improved .chip.selected .dow,.bw--improved .chip.selected .mon{color:var(--selected-ink);}
.bw--improved .chip.disabled{cursor:not-allowed;background:repeating-linear-gradient(45deg,#fff 0 4px,#F4F4F7 4px 8px);}
.bw--improved .chip.disabled .dow,.bw--improved .chip.disabled .day,.bw--improved .chip.disabled .mon{color:var(--muted-2);}
.bw--improved .chip.disabled:hover{border-color:var(--rule);}
.bw--improved .chip .tag{position:absolute;top:-6px;right:-6px;background:var(--trust);color:#fff;font-size:8px;font-weight:700;padding:2px 5px;border-radius:100px;letter-spacing:.04em;}
.bw--improved .chips-row{display:flex;align-items:center;gap:8px;margin-top:10px;}
.bw--improved .see-all{background:none;border:none;font-family:inherit;font-size:12px;font-weight:500;color:var(--ink-2);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--rule-strong);cursor:pointer;padding:3px 0;}
.bw--improved .see-all:hover{text-decoration-color:var(--ink);color:var(--ink);}
.bw--improved .cal{margin-top:10px;border:1px solid var(--rule);border-radius:11px;padding:12px;background:#fff;}
.bw--improved .cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.bw--improved .cal-head .month{font-weight:700;font-size:12px;}
.bw--improved .cal-nav{width:24px;height:24px;background:#fff;border:1px solid var(--rule-strong);border-radius:6px;font-family:inherit;font-size:12px;cursor:pointer;color:var(--ink-2);}
.bw--improved .cal-nav:hover{border-color:var(--ink);}
.bw--improved .cal-dow{display:grid;grid-template-columns:repeat(7,1fr);font-size:9px;letter-spacing:.06em;color:var(--muted);text-align:center;text-transform:uppercase;padding:3px 0 5px;font-weight:600;}
.bw--improved .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.bw--improved .cal-cell{aspect-ratio:1;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;cursor:pointer;border:1px solid transparent;color:var(--ink);background:transparent;}
.bw--improved .cal-cell:hover{background:#F4F4F7;}
.bw--improved .cal-cell.muted{color:var(--muted-2);cursor:default;}
.bw--improved .cal-cell.muted:hover{background:transparent;}
.bw--improved .cal-cell.past{color:var(--muted-2);cursor:default;}
.bw--improved .cal-cell.past:hover{background:transparent;}
.bw--improved .cal-cell.unavailable{color:var(--muted-2);text-decoration:line-through;cursor:not-allowed;}
.bw--improved .cal-cell.unavailable:hover{background:transparent;}
.bw--improved .cal-cell.selected{background:var(--ink);color:#fff;border-radius:8px;}
.bw--improved .stepper-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;}
.bw--improved .stepper-row+.stepper-row{border-top:1px dashed var(--rule);}
.bw--improved .stepper-row .who{font-weight:600;font-size:13px;}
.bw--improved .stepper-row .who-sub{font-size:11px;color:var(--muted);font-weight:500;margin-top:1px;}
.bw--improved .stepper{display:inline-flex;align-items:center;gap:8px;}
.bw--improved .stepper button{width:28px;height:28px;border-radius:50%;border:1px solid var(--rule-strong);background:#fff;font-family:inherit;font-weight:600;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);transition:border-color .12s,background .12s;}
.bw--improved .stepper button:hover:not(:disabled){border-color:var(--ink);background:#FAFAFB;}
.bw--improved .stepper button:disabled{color:var(--muted-2);cursor:not-allowed;border-color:var(--rule);}
.bw--improved .stepper .count{font-weight:700;font-size:14px;min-width:14px;text-align:center;}
.bw--improved .summary{padding:14px 24px 6px;background:#FAFAFB;}
.bw--improved .bw-row{display:flex;align-items:baseline;justify-content:space-between;font-size:12px;padding:2px 0;}
.bw--improved .bw-row .label{color:var(--muted);}
.bw--improved .bw-row .val{color:var(--ink);font-weight:600;}
.bw--improved .bw-total{margin-top:7px;padding-top:10px;border-top:1px dashed var(--rule-strong);display:flex;justify-content:space-between;align-items:baseline;}
.bw--improved .bw-total .lbl{font-weight:700;font-size:13px;}
.bw--improved .bw-total .v{font-weight:800;font-size:20px;letter-spacing:-.02em;}
.bw--improved .cta-wrap{padding:14px 24px 20px;background:#FAFAFB;}
.bw--improved .cta{width:100%;padding:13px 16px;background:var(--cta);border:none;border-radius:13px;font-family:inherit;font-weight:700;font-size:15px;cursor:pointer;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;box-shadow:0 1px 0 rgba(0,0,0,.05);transition:background .12s,transform .06s;}
.bw--improved .cta:hover{background:var(--cta-hover);box-shadow:0 4px 12px rgba(245,200,66,.4);color:var(--ink);}
.bw--improved .cta:active{background:var(--cta-press);transform:translateY(1px);}
.bw--improved .cta .price-pill{background:rgba(0,0,0,.08);padding:2px 9px;border-radius:100px;font-weight:700;font-size:13px;}
@media(min-width:768px){.bw--improved .cta .price-pill{display:none;}}
.bw--improved .cta .arrow{font-weight:800;}
.bw--improved .fineprint{margin-top:10px;text-align:center;font-size:11px;color:var(--muted);}
.bw--improved .fineprint .check{color:var(--trust);margin-right:3px;vertical-align:-1px;}
@keyframes bwFadeUp{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.bw--improved .reveal{animation:bwFadeUp .24s ease both;}

/* Mobile sticky footer */
.mob-footer,.mob-backdrop,.mob-sheet { display: none; }
@media(max-width:767px){
    .mob-footer {
        display:flex;align-items:center;justify-content:space-between;
        position:fixed;left:0;right:0;bottom:0;
        background:#fff;border-top:1px solid #E6E7EB;
        padding:12px 18px;padding-bottom:max(12px, env(safe-area-inset-bottom));
        gap:12px;z-index:1050;
        font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
    }
    .mob-pricing { display:flex;flex-direction:column;line-height:1.2; }
    .mob-price-top { font-weight:800;font-size:22px;letter-spacing:-.02em;color:#15171C; }
    .mob-price-top .mob-curr { font-weight:600;font-size:13px;color:#7A8089;margin-right:2px; }
    .mob-price-sub { display:flex;align-items:center;gap:5px;font-size:11px;margin-top:2px; }
    .mob-badge { color:#16864A;font-weight:600;display:inline-flex;align-items:center;gap:3px; }
    .mob-cta-btn {
        flex-shrink:0;background:#F5C842;border:none;border-radius:12px;
        padding:13px 24px;font-family:inherit;font-weight:700;font-size:15px;
        color:#15171C;cursor:pointer;box-shadow:0 1px 0 rgba(0,0,0,.05);
        transition:background .12s,transform .06s;
        display:inline-flex;align-items:center;gap:6px;
    }
    .mob-cta-btn:active { background:#EAB924;transform:translateY(1px); }

    /* Backdrop */
    .mob-backdrop {
        display:none;position:fixed;inset:0;
        background:rgba(8,10,16,.42);z-index:1055;
        opacity:0;transition:opacity .28s ease;
    }
    .mob-backdrop.open { display:block;opacity:1; }

    /* Bottom sheet */
    .mob-sheet {
        position:fixed;left:0;right:0;bottom:0;
        background:#fff;border-radius:18px 18px 0 0;
        z-index:1060;max-height:92vh;max-height:92dvh;display:flex;flex-direction:column;
        transform:translateY(110%);
        transition:transform .34s cubic-bezier(.22,1,.36,1);
        box-shadow:0 -8px 36px rgba(0,0,0,.18);
        padding-top:env(safe-area-inset-top);
    }
    .mob-sheet.open { transform:translateY(0); }
    .mob-grabber {
        width:38px;height:4px;background:#D6D8DD;border-radius:100px;
        margin:8px auto 0;flex-shrink:0;cursor:grab;
    }
    .mob-sheet-head {
        display:flex;align-items:center;justify-content:space-between;
        padding:8px 18px 12px;flex-shrink:0;border-bottom:1px solid #E6E7EB;
    }
    .mob-sheet-title { font-weight:800;font-size:16px;letter-spacing:-.01em;color:#15171C; }
    .mob-sheet-close {
        width:32px;height:32px;border-radius:50%;border:none;
        background:#F4F4F7;display:inline-flex;align-items:center;justify-content:center;
        color:#15171C;cursor:pointer;
    }
    .mob-sheet-close:hover { background:#E6E7EB; }
    .mob-sheet-body {
        flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;
        padding-bottom:max(20px, env(safe-area-inset-bottom));
    }
    /* Widget overrides inside sheet */
    .mob-sheet-body .bw--improved {
        width:100%;border-radius:0;box-shadow:none;border:none;
    }
    .mob-sheet-body .bw--improved .head { padding:14px 18px 16px; }
    .mob-sheet-body .bw--improved .sec  { padding:14px 18px; }
    .mob-sheet-body .bw--improved .summary   { padding:12px 18px 4px; }
    .mob-sheet-body .bw--improved .cta-wrap  { padding:12px 18px 20px; }
}
