.journey-package-card { border:1px solid #eee5eb; border-radius:18px; overflow:hidden; background:#fff; box-shadow:0 6px 22px rgba(52,32,46,.07) !important; transition:transform .2s,box-shadow .2s; }
.journey-package-card:hover { transform:translateY(-4px); box-shadow:0 14px 32px rgba(52,32,46,.13) !important; }
.package-card-image { display:block; position:relative; overflow:hidden; background:#f3edf1; }
.journey-package-card .package-card-image .card-img-top { width:100%; height:220px; object-fit:cover; border-radius:0; }
.package-duration { position:absolute; bottom:14px; left:16px; background:rgba(255,255,255,.95); border-radius:8px; padding:7px 11px; color:#422537; font-size:12px; font-weight:600; }
.journey-package-card .package-card-body { display:flex; flex-direction:column; gap:12px; padding:20px; }
.package-card-badges { display:flex; flex-wrap:wrap; gap:6px; }
.package-card-badges:empty { display:none; }
.package-card-badges span { background:#f7eef5; color:#853779; border-radius:20px; padding:4px 10px; font-size:11px; font-weight:600; }
.package-card-title { font-size:20px; line-height:1.4; margin:0; font-weight:700; }
.package-card-title a { color:#30232c; text-decoration:none; }
.package-card-title a:hover { color:#853779; }
.package-card-route { color:#68515f; font-size:13px; line-height:1.7; margin:0; }
.package-card-description { color:#83717c; font-size:13px; line-height:1.7; margin:0; }
.package-card-facts { display:flex; flex-wrap:wrap; gap:8px 14px; color:#67525f; font-size:12px; }
.package-card-facts i,.package-card-route i,.package-card-departure i { color:#853779; margin-right:4px; }
.package-card-departure { font-size:12px; line-height:1.7; color:#67525f; background:#faf7f9; border-radius:8px; padding:9px 10px; margin:0; }
.package-card-footer { margin-top:auto; padding-top:16px; border-top:1px solid #eee5eb; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.package-card-pricing { display:flex; flex-direction:column; gap:3px; }
.package-card-pricing small { font-size:11px; color:#887781; }
.package-card-pricing strong { color:#502c45; font-size:23px; line-height:1.3; }
.package-card-pricing sup { font-size:12px; }
.package-card-action { background:#853779; color:#fff; border-radius:9px; font-size:12px; font-weight:600; padding:11px 14px; }
.package-card-action:hover,.package-card-action:focus-visible { background:#6e2863; color:#fff; }
.tab-scroll-container {
    border:1px solid #eee5eb;
    border-radius:14px;
    background:#fff;
    margin-bottom:20px;
    gap:8px;
    box-shadow:0 4px 16px rgba(52,32,46,.04);
}
.tab-scroll-container .tab-scroll-wrapper { min-width:0; }
.tab-scroll-container .tabsWrapper { gap:8px; padding:6px 2px; }
.tab-scroll-container .tabsWrapper li {
    border:1px solid #eadce6;
    border-radius:9px;
    padding:10px 16px;
    background:#faf6f9;
    color:#705267;
    cursor:pointer;
    transition:background .15s,color .15s,border-color .15s;
}
.tab-scroll-container .tabsWrapper li .name { font-size:13px; font-weight:600; }
.tab-scroll-container .tabsWrapper li:hover { background:#f3e7ef; border-color:#cda8c3; color:#853779; }
.tab-scroll-container .tabsWrapper li.active { background:#853779; border-color:#853779; color:#fff; box-shadow:0 3px 8px rgba(133,55,121,.18); }
.tab-scroll-container .tabsWrapper li.active::after { display:none; }
.tab-scroll-container .tabsWrapper li:focus-visible { outline:2px solid #853779; outline-offset:2px; }
.tab-scroll-container .arrow-btn { flex-shrink:0; width:32px; height:32px; padding:0; background:#f7eef4; color:#853779; border:1px solid #eadce6; }
.tab-scroll-container .arrow-btn i { font-size:12px; }
.tab-scroll-container .arrow-btn:hover:not(:disabled) { background:#853779; border-color:#853779; color:#fff; }
.tab-scroll-container .arrow-btn:disabled { background:#faf8fa; color:#b9aab4; opacity:.6; }
@media(max-width:575.98px) { .journey-package-card .package-card-body { padding:16px; } .package-card-title { font-size:18px; } .package-card-action { flex-grow:1; text-align:center; } }

/* Highlight the selected destination over any banner image. */
.tour-destination-banner{position:relative;isolation:isolate;display:flex;align-items:center;min-height:330px;background-position:center;background-size:cover}
.tour-destination-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(27,15,35,.72),rgba(27,15,35,.35));z-index:-1}
.tour-destination-banner>.container{position:relative;z-index:1}
.tour-destination-banner .destination-banner-eyebrow{display:block;color:#fff;font-size:12px;font-weight:750;letter-spacing:3px;margin-bottom:18px;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.tour-destination-banner h1.destination-banner-title{display:inline-block;max-width:100%;padding:22px 32px;margin:0;border-radius:18px;background:rgba(56,28,64,.72);border:1px solid rgba(255,255,255,.3);border-bottom:4px solid #cf93c5;box-shadow:0 12px 32px rgba(0,0,0,.2);color:#fff!important;font-size:clamp(30px,4vw,52px);font-weight:800;line-height:1.25;letter-spacing:-.5px;text-shadow:0 2px 10px rgba(0,0,0,.3);overflow-wrap:anywhere}
@media(max-width:767px){.tour-destination-banner{min-height:260px}.tour-destination-banner h1.destination-banner-title{padding:18px 20px;border-radius:14px;font-size:30px}.tour-destination-banner .destination-banner-eyebrow{font-size:11px;margin-bottom:14px}}
