/* ================================================================
   cabHomeForm.css  —  BroomBoom Cabs
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@700;800;900&family=Nunito+Sans:wght@400;600;700;800&display=swap');

/* ── 1. MAIN BODY ── */
.main-body { min-height:100vh !important; display:flex !important; flex-direction:column !important; position:relative !important; }
.bg-image { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; object-fit:cover !important; object-position:70% 20% !important; max-height:none !important; z-index:0 !important; filter:brightness(0.65) !important; }
.main-body::after { content:'' !important; position:absolute !important; inset:0 !important; background:linear-gradient(to right,rgba(0,0,0,0.05) 0%,rgba(0,0,0,0.05) 45%,rgba(0,0,0,0.55) 100%) !important; z-index:1 !important; pointer-events:none !important; }

/* ── 2. LAYOUT ── */
.banner-section { position:relative !important; z-index:2 !important; display:flex !important; flex-direction:row !important; align-items:stretch !important; justify-content:flex-start !important; min-height:100vh !important; width:100% !important; padding:0 !important; gap:0 !important; }

.bb-hero-left { order:1 !important; flex:0 0 700px !important; width:700px !important; max-width:700px !important; min-width:0 !important; background:linear-gradient(to right,rgba(0,0,0,0.82) 0%,rgba(0,0,0,0.78) 60%,rgba(0,0,0,0.50) 85%,rgba(0,0,0,0.00) 100%) !important; display:flex !important; flex-direction:column !important; justify-content:center !important; padding:50px 36px !important; position:relative !important; z-index:10 !important; overflow:visible !important; min-height:100vh !important; }

.bb-hero-right { order:2 !important; flex:1 !important; display:flex !important; flex-direction:column !important; justify-content:flex-end !important; align-items:flex-start !important; padding:60px 52px 80px !important; position:relative !important; z-index:2 !important; }

.form-sec-area { max-width:640px !important; width:100% !important; margin:0 !important; padding:0 !important; position:relative !important; z-index:5 !important; }

.form-body { background:#fff !important; border-radius:16px !important; box-shadow:0 8px 40px rgba(0,0,0,0.20) !important; border:1px solid #e8e8e8 !important; padding:0 !important; overflow:visible !important; }

.form-inputs { display:flex !important; flex-direction:column !important; }

/* ── 3. HERO TEXT ── */
.bb-hero-label { display:flex !important; align-items:center !important; color:#ffc107 !important; font-size:11px !important; font-weight:700 !important; letter-spacing:2.5px !important; text-transform:uppercase !important; margin-bottom:10px !important; }
.bb-hero-line { display:none !important; }
.banner-heading { text-align:left !important; max-width:100% !important; padding:0 !important; margin:0 !important; }
.banner-heading h1 { font-family:'Nunito',sans-serif !important; font-size:44px !important; line-height:54px !important; font-weight:900 !important; color:#fff !important; margin:0 0 10px !important; text-shadow:0 2px 16px rgba(0,0,0,0.55) !important; }
.banner-heading h1 span { color:#ffc107 !important; }
.banner-heading div { font-size:14px !important; color:rgba(255,255,255,0.88) !important; line-height:1.65 !important; font-weight:400 !important; margin:0 !important; }
.bb-trust-badges { display:flex !important; flex-wrap:wrap !important; align-items:center !important; gap:14px 20px !important; margin:18px 0 0 !important; }
.bb-trust-badge { display:inline-flex !important; align-items:center !important; gap:7px !important; background:transparent !important; border:none !important; padding:0 !important; font-size:13px !important; font-weight:600 !important; color:rgba(255,255,255,0.90) !important; }
.bb-trust-divider { display:none !important; }

/* ════════════════════════════
   4. TAB BAR
   ════════════════════════════ */
.radio-btn-divs {
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:stretch !important;
    padding:0 !important;
    gap:0 !important;
    border-bottom:2px solid #efefef !important;
    background:#fff !important;
    border-radius:16px 16px 0 0 !important;
    overflow:hidden !important;
}
.radio-btn-divs::-webkit-scrollbar { display:none !important; }

.bb-tab-header-label {
    flex:0 0 100% !important;
    width:100% !important;
    order:-1 !important;
    background:#FFC107 !important;
    color:#1a1a1a !important;
    font-family:'Nunito',sans-serif !important;
    font-size:13px !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:0.8px !important;
    padding:11px 16px !important;
    text-align:center !important;
    margin:0 !important;
    border-radius:16px 16px 0 0 !important;
}

.radio-btns {
    flex:1 1 0 !important;
    min-width:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:10px 8px !important;
    margin:8px 0 8px 8px !important;
    font-family:'Nunito',sans-serif !important;
    font-size:12px !important;
    font-weight:800 !important;
    color:#444 !important;
    cursor:pointer !important;
    border:2px solid #e0e0e0 !important;
    border-radius:10px !important;
    background:#f7f7f7 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-align:center !important;
    transition:all 0.2s !important;
    line-height:1.35 !important;
    min-height:60px !important;
    word-break:break-word !important;
    overflow-wrap:break-word !important;
    hyphens:auto !important;
    letter-spacing:0px !important;
}
.radio-btn-divs .radio-btns:last-of-type { margin-right:8px !important; }
.radio-btns:hover { border-color:#FFC107 !important; background:#FFF8E1 !important; color:#1a1a1a !important; }
.radio-btn-checked { background:#FFC107 !important; border-color:#FFC107 !important; color:#1a1a1a !important; font-weight:900 !important; box-shadow:0 2px 8px rgba(255,193,7,0.30) !important; }
.bb-tab-icon { display:none !important; }
.tick-mark-div { display:none !important; }

/* ════════════════════════════
   5. INPUT FIELD ROWS
   ════════════════════════════ */
.form-inputs > .d-flex.flex-wrap {
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:stretch !important;
    padding:14px 14px 10px !important;
    gap:10px !important;
    position:relative !important;
    overflow:visible !important;
    border-bottom:1px solid #efefef !important;
}

/* ── 6. INPUT BOXES (base) ── */
.inputs-boxs {
    flex:1 1 160px !important;
    min-width:0 !important;
    padding:0 !important;
    height:auto !important;
    min-height:auto !important;
    border:1.5px solid #e2e2e2 !important;
    border-radius:10px !important;
    cursor:pointer !important;
    position:relative !important;
    overflow:visible !important;
    background:#f9f9f9 !important;
    transition:border-color 0.2s, box-shadow 0.2s, background 0.2s !important;
}
.inputs-boxs:hover,
.inputs-boxs:focus-within {
    border-color:#FFC107 !important;
    background:#fff !important;
    box-shadow:0 0 0 3px rgba(255,193,7,0.12) !important;
    z-index:10 !important;
}

#pickuplocation,
#droplocation {
    flex:1 1 calc(50% - 28px) !important;
    min-width:120px !important;
}

#pickupTime,
#pickuptimehrs {
    flex:1 1 calc(50% - 5px) !important;
    min-width:120px !important;
}

#pickupTime_drop,
#pickuptimehrs_drop {
    flex:1 1 calc(50% - 5px) !important;
    min-width:120px !important;
}

/* ── 7. SWAP BUTTON ── */
.bb-swap-btn {
    flex:0 0 32px !important;
    width:32px !important;
    min-width:32px !important;
    height:32px !important;
    border-radius:50% !important;
    border:1.5px solid #e2e2e2 !important;
    background:#fff !important;
    cursor:pointer !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#aaa !important;
    align-self:center !important;
    transition:all 0.25s !important;
    padding:0 !important;
    z-index:2 !important;
    flex-shrink:0 !important;
}
.bb-swap-btn:hover { background:#fff8e1 !important; border-color:#FFC107 !important; color:#FFC107 !important; }
body.bb-tab-airports .bb-swap-btn,
body.bb-tab-rentals  .bb-swap-btn { display:none !important; }

/* ── 8. FIELD LABELS ── */
.bb-field-label {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    font-family:'Nunito Sans',sans-serif !important;
    font-size:10px !important;
    font-weight:900 !important;
    color:#999 !important;
    letter-spacing:1px !important;
    padding:8px 12px 2px !important;
    text-transform:uppercase !important;
    text-align:center !important;
}

.bb-location-input {
    font-family:'Nunito Sans',sans-serif !important;
    font-size:14px !important;
    font-weight:700 !important;
    color:#1a1a1a !important;
    border:none !important;
    outline:none !important;
    background:transparent !important;
    padding:1px 12px 4px !important;
    width:100% !important;
    height:auto !important;
    cursor:pointer !important;
    text-align:center !important;
}
.bb-location-input::placeholder { color:#c0c0c0 !important; font-weight:500 !important; text-align:center !important; }
.bb-field-hint {
    display:block !important;
    font-size:10px !important;
    color:#bbb !important;
    padding:0 12px 6px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    text-align:center !important;
}
.inputs-boxs span > img[alt="arrow down"] { display:none !important; }

.inputs-boxs > label > input[type="text"]:not(.bb-location-input):not([hidden]),
.inputs-boxs > lebel > input[type="text"]:not(.bb-location-input):not([hidden]) {
    font-family:'Nunito',sans-serif !important;
    font-size:16px !important;
    font-weight:800 !important;
    color:#1a1a1a !important;
    border:none !important;
    outline:none !important;
    background:transparent !important;
    padding:2px 12px 8px !important;
    width:100% !important;
    cursor:pointer !important;
    text-align:center !important;
}

.inputs-boxs > label > span:first-child,
.inputs-boxs > lebel > span:first-child {
    display:flex !important;
    align-items:center !important;
    gap:5px !important;
    font-family:'Nunito Sans',sans-serif !important;
    font-size:10px !important;
    font-weight:900 !important;
    color:#999 !important;
    letter-spacing:1px !important;
    text-transform:uppercase !important;
    padding:8px 12px 2px !important;
    justify-content:center !important;
}

#airportType_label,
#airport_trip_type_div > lebel > span:first-child,
#way_type > lebel > span:first-child,
#city-name > lebel > span:first-child {
    font-family:'Nunito Sans',sans-serif !important;
    font-size:10px !important;
    font-weight:900 !important;
    color:#999 !important;
    text-transform:uppercase !important;
    letter-spacing:1px !important;
    padding:8px 12px 2px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

#package_input,
#airport_trip_type_show,
#way_type_show {
    font-family:'Nunito',sans-serif !important;
    font-size:15px !important;
    font-weight:800 !important;
    color:#1a1a1a !important;
    border:none !important;
    outline:none !important;
    background:transparent !important;
    padding:2px 12px 8px !important;
    width:100% !important;
    cursor:pointer !important;
    text-align:center !important;
}

/* ── 9. SEARCH CAB BUTTON ── */
#form-btn { padding:12px 14px 18px !important; display:flex !important; justify-content:center !important; }
.bb-search-btn,
#search_btn {
    background:#FFC107 !important;
    color:#1a1a1a !important;
    font-family:'Nunito',sans-serif !important;
    font-size:16px !important;
    font-weight:900 !important;
    letter-spacing:0 !important;
    word-spacing:0 !important;
    border:none !important;
    border-radius:10px !important;
    padding:14px 32px !important;
    margin:0 !important;
    cursor:pointer !important;
    transition:background 0.2s, transform 0.12s, box-shadow 0.2s !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:7px !important;
    width:100% !important;
    justify-content:center !important;
    box-shadow:0 3px 12px rgba(255,193,7,0.32) !important;
}
.bb-search-btn:hover, #search_btn:hover { background:#FFB300 !important; transform:translateY(-1px) !important; box-shadow:0 5px 18px rgba(255,193,7,0.42) !important; }
.bb-search-btn:disabled, #search_btn:disabled { opacity:0.6 !important; cursor:not-allowed !important; }

/* ── 10. ADDON STRIP ── */
.bb-addon-strip {
    border-top:2px solid #f0f0f0 !important;
    background:#fafafa !important;
    padding:14px 16px 16px !important;
    margin-top:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
    -ms-overflow-style:none !important;
    min-height:56px !important;
    border-radius:0 0 16px 16px !important;
}
.bb-addon-strip:empty { display:none !important; }
.bb-addon-strip::-webkit-scrollbar { display:none !important; }
.bb-addon-strip__label { display:none !important; }
.bb-addon-strip__chips { display:contents !important; }
.bb-addon-chip { display:inline-flex !important; align-items:center !important; gap:6px !important; padding:7px 13px !important; border:1.5px solid #e0e0e0 !important; border-radius:20px !important; font-family:'Nunito',sans-serif !important; font-size:12px !important; font-weight:700 !important; color:#555 !important; cursor:pointer !important; background:#fff !important; white-space:nowrap !important; flex-shrink:0 !important; transition:border-color 0.18s, background 0.18s !important; user-select:none !important; }
.bb-addon-chip:hover { border-color:#ffc107 !important; background:#fffdf5 !important; }
.bb-addon-chip.bb-addon-chip--selected { border-color:#ffc107 !important; background:#fff8e1 !important; color:#1a1a1a !important; font-weight:800 !important; }
.bb-addon-chip__check { width:14px; height:14px; border-radius:3px; border:1.5px solid #ccc; display:inline-flex; align-items:center; justify-content:center; font-size:9px; color:transparent; flex-shrink:0; }
.bb-addon-chip--selected .bb-addon-chip__check { background:#ffc107; border-color:#ffc107; color:#000; }
.bb-addon-chip__icon { display:inline-flex; align-items:center; opacity:0.65; }
.bb-addon-chip--selected .bb-addon-chip__icon { opacity:1; }

/* ── 11. FEATURE BADGES ── */
.bb-feature-badges { display:flex; align-items:center; justify-content:space-around; flex-wrap:wrap; padding:14px 16px; border-top:1px solid #f5f5f5; gap:8px; }
.bb-feature-badge { display:flex; align-items:center; gap:10px; flex:1 1 130px; min-width:120px; }
.bb-feature-icon { width:34px; height:34px; background:#fff8e1; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.bb-feature-badge strong { font-family:'Nunito',sans-serif; font-size:12px; font-weight:800; color:#1a1a1a; display:block; }
.bb-feature-badge span { font-size:11px; color:#888; }

/* ── 12. DATE PICKERS ── */
.date-picker { display:block !important; position:static !important; overflow:visible !important; }
.date-picker input {
    padding:2px 12px 8px !important;
    border:none !important;
    background:transparent !important;
    cursor:pointer !important;
    font-family:'Nunito',sans-serif !important;
    font-size:16px !important;
    font-weight:800 !important;
    color:#1a1a1a !important;
    width:100% !important;
    text-align:center !important;
    display:block !important;
}
.date-picker .calendar,
.date-picker .calendar_drop {
    position:absolute !important;
    top:calc(100% + 6px) !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    z-index:999999 !important;
    display:none !important;
    background:#fff !important;
    border-radius:14px !important;
    box-shadow:0 16px 48px rgba(0,0,0,0.18) !important;
    border:1px solid #e8e8e8 !important;
    width:300px !important;
    min-width:280px !important;
    overflow:hidden !important;
}
.date-picker .calendar.active,
.date-picker .calendar_drop.active { display:block !important; }
.date-picker .calendar table,
.date-picker .calendar_drop table { width:100%; border-collapse:collapse; }
.date-picker .calendar table th,
.date-picker .calendar table td,
.date-picker .calendar_drop table th,
.date-picker .calendar_drop table td { padding:8px 4px; text-align:center; font-size:13px; }
.date-picker .calendar table th,
.date-picker .calendar_drop table th { background:#f8f8f8; font-weight:700; color:#666; font-size:12px; }
.date-picker .calendar table td,
.date-picker .calendar_drop table td { cursor:pointer; color:#1a1a1a; border-radius:50%; width:34px; height:34px; line-height:1; }
.date-picker .calendar table td:hover,
.date-picker .calendar_drop table td:hover { background:#ffc107 !important; color:#000 !important; font-weight:800 !important; }
.date-picker .calendar > span,
.date-picker .calendar_drop > span {
    display:flex !important;
    align-items:center !important;
    padding:10px 14px !important;
    font-family:'Nunito',sans-serif !important;
    font-size:13px !important;
    font-weight:800 !important;
    color:#1a1a1a !important;
    background:#FFF8E1 !important;
    border-bottom:1px solid #ffe082 !important;
    gap:6px !important;
}



#pickuplocation_div > img,
#droplocation_div > img {
    position:absolute !important;
    left:14px !important;
    top:18px !important;
    width:16px !important;
    height:16px !important;
    z-index:2 !important;
    opacity:0.55 !important;
}

/* FIX: clean input styling inside drop/pickup popup — no stray box-shadow */
#pickuplocation_div input[type="text"],
#droplocation_div input[type="text"] {
    width:100% !important;
    border:none !important;
    border-bottom:1px solid #f0f0f0 !important;
    border-radius:0 !important;
    padding:14px 12px 14px 40px !important;
    font-size:14px !important;
    font-family:'Nunito Sans',sans-serif !important;
    font-weight:600 !important;
    outline:none !important;
    background:#fff !important;
    color:#1a1a1a !important;
    margin-bottom:0 !important;
    height:auto !important;
    box-shadow:none !important;
    box-sizing:border-box !important;
}
#pickuplocation_div input[type="text"]:focus,
#droplocation_div input[type="text"]:focus {
    background:#fffdf5 !important;
    border-bottom-color:#ffc107 !important;
}

.recomendation-div,
.recomendation-div-drop {
    max-height:220px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:6px 0 !important;
    scrollbar-width:thin !important;
    scrollbar-color:#ffc107 #f5f5f5 !important;
}
.recomendation-div::-webkit-scrollbar,
.recomendation-div-drop::-webkit-scrollbar { width:4px; }
.recomendation-div::-webkit-scrollbar-track,
.recomendation-div-drop::-webkit-scrollbar-track { background:#f5f5f5; }
.recomendation-div::-webkit-scrollbar-thumb,
.recomendation-div-drop::-webkit-scrollbar-thumb { background:#ffc107; border-radius:2px; }

.popupdivs {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;

    min-width: 240px !important;
    z-index: 999999 !important;
    background: #fff !important;
    border-radius: 14px !important;
    box-shadow: 0 16px 48px rgba(0,0,0,0.18) !important;
    border: 1px solid #e8e8e8 !important;
}
#pickuppackage {
    position: relative !important;
}

.pickuplocations,
.droplocations {
    padding:11px 16px !important;
    border-radius:0 !important;
    font-size:13px !important;
    font-weight:600 !important;
    color:#222 !important;
    cursor:pointer !important;
    display:flex !important;
    align-items:center !important;
    white-space:normal !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    transition:background 0.15s !important;
    line-height:1.4 !important;
}
.pickuplocations:hover,
.droplocations:hover { background:#fff8e1 !important; color:#000 !important; }

.sug {
    font-size:9px !important;
    font-weight:900 !important;
    color:#bbb !important;
    letter-spacing:1.2px !important;
    padding:8px 16px 4px !important;
    display:block !important;
    text-transform:uppercase !important;
}

/* ── 14. TIME PICKER POPUP ── */
.absolute-container,
.absolute-container_drop {
    z-index:999999 !important;
    border-radius:14px !important;
    box-shadow:0 16px 48px rgba(0,0,0,0.18) !important;
    border:1px solid #e8e8e8 !important;
    padding:0 !important;
    min-width:220px !important;
    width:auto !important;
    background:#fff !important;
    overflow:hidden !important;
    position:absolute !important;
    top:calc(100% + 6px) !important;
    left:50% !important;
    transform:translateX(-50%) !important;
}

.absolute-container > .d-flex:first-child,
.absolute-container_drop > .d-flex:first-child {
    padding:12px 16px 10px !important;
    background:#FFF8E1 !important;
    border-bottom:1px solid #ffe082 !important;
    gap:8px !important;
    align-items:center !important;
    font-family:'Nunito',sans-serif !important;
}
.absolute-container > .d-flex:first-child span,
.absolute-container_drop > .d-flex:first-child span {
    font-size:13px !important;
    font-weight:800 !important;
    color:#1a1a1a !important;
}
#time_show, #time_show_drop {
    color:#e65100 !important;
    font-weight:900 !important;
    font-size:14px !important;
}

.time_input_names {
    font-family:'Nunito',sans-serif !important;
    font-size:11px !important;
    font-weight:900 !important;
    color:#1a1a1a !important;
    letter-spacing:0.5px !important;
    text-transform:uppercase !important;
}
.absolute-container .d-flex.my-2,
.absolute-container_drop .d-flex.my-2 {
    background:#FFC107 !important;
    border-radius:0 !important;
}

.hours, .minites {
    height:140px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    width:80px !important;
    scrollbar-width:thin !important;
    scrollbar-color:#ffc107 #f0f0f0 !important;
    padding:4px 0 !important;
    display:block !important;
    flex-direction:unset !important;
    background:transparent !important;
}
.hours::-webkit-scrollbar,
.minites::-webkit-scrollbar { width:4px; }
.hours::-webkit-scrollbar-track,
.minites::-webkit-scrollbar-track { background:#f5f5f5; }
.hours::-webkit-scrollbar-thumb,
.minites::-webkit-scrollbar-thumb { background:#ffc107; border-radius:2px; }

.hrs-spans, .mins-span {
    display:block !important;
    text-align:center !important;
    padding:6px 4px !important;
    cursor:pointer !important;
    font-family:'Nunito',sans-serif !important;
    font-size:14px !important;
    font-weight:700 !important;
    color:#333 !important;
    border-radius:6px !important;
    margin:1px 4px !important;
    transition:background 0.12s, color 0.12s !important;
}
.hrs-spans:hover,
.mins-span:hover {
    background:#FFC107 !important;
    color:#000 !important;
    font-weight:900 !important;
}

.absolute-container > .d-flex.justify-content-around.mt-4,
.absolute-container_drop > .d-flex.justify-content-around.mt-4 {
    padding:8px 16px 12px !important;
    margin-top:0 !important;
    gap:12px !important;
}

/* ── 15. PACKAGE & AIRPORT TYPE DROPDOWNS ── */
.package-div {
    z-index:999999 !important;
    border-radius:14px !important;
    box-shadow:0 16px 48px rgba(0,0,0,0.18) !important;
    border:1px solid #FFD54F !important;
    background:#FFF8E1 !important;
    padding:6px 0 !important;
    min-width:200px !important;
    overflow:hidden !important;
    position:absolute !important;
    top:calc(100% + 6px) !important;
    left:0 !important;
}
.package_cont_items {
    padding:11px 18px !important;
    cursor:pointer !important;
    font-family:'Nunito',sans-serif !important;
    font-size:14px !important;
    font-weight:700 !important;
    color:#000 !important;
    display:block !important;
    width:100% !important;
    box-sizing:border-box !important;
    transition:background 0.15s !important;
    white-space:nowrap !important;
}
.package_cont_items:hover { background:#FFE082 !important; color:#1a1a1a !important; }
.outerCircle {
    width:18px; height:18px; border-radius:50%;
    border:2px solid rgba(0,0,0,0.3); display:flex;
    align-items:center; justify-content:center;
    margin-right:4px; flex-shrink:0;
    background:rgba(255,255,255,0.3);
}
.innerCircle { width:8px; height:8px; border-radius:50%; background:#000; display:none; }

/* ── 16a. OUTSTATION TAB ── */
body.bb-tab-outstations #airport_trip_type_show { display:none !important; }
body.bb-tab-outstations #airport_trip_type_cont {
    position:relative !important;
    top:0 !important;
    left:0 !important;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    padding:4px 12px 8px !important;
    background:transparent !important;
    border:none !important;
    border-radius:0 !important;
    box-shadow:none !important;
    min-width:unset !important;
    width:100% !important;
    z-index:1 !important;
}
body.bb-tab-outstations #airport_trip_type_cont .airportTypeoption {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
    flex:1 1 auto !important;
    width:auto !important;
    padding:5px 10px !important;
    border-radius:8px !important;
    border:1.5px solid #e0e0e0 !important;
    background:#f7f7f7 !important;
    font-family:'Nunito',sans-serif !important;
    font-size:12px !important;
    font-weight:700 !important;
    color:#444 !important;
    cursor:pointer !important;
    text-align:center !important;
    transition:border-color 0.18s, background 0.18s !important;
    white-space:nowrap !important;
}
body.bb-tab-outstations #airport_trip_type_cont .airportTypeoption:hover {
    border-color:#FFC107 !important;
    background:#FFF8E1 !important;
    color:#1a1a1a !important;
}
body.bb-tab-outstations #airport_trip_type_cont .airportTypeoption .outerCircle { display:none !important; }
body.bb-tab-outstations #airport_trip_type_cont .airportTypeoption > span {
    padding:0 !important;
    display:inline !important;
    border-radius:0 !important;
    background:transparent !important;
    font-size:12px !important;
    font-weight:700 !important;
    color:inherit !important;
    width:auto !important;
    line-height:1.3 !important;
    transition:none !important;
}
body.bb-tab-outstations #airport_trip_type_cont .airportTypeoption > span:hover { background:transparent !important; }
body.bb-tab-outstations .airportTypeoption.oneway,
body.bb-tab-outstations .airportTypeoption.roundway { display:inline-flex !important; }
body.bb-tab-outstations .airportTypeoption.from_airport,
body.bb-tab-outstations .airportTypeoption.to_airport { display:none !important; }

body.bb-tab-airports .airportTypeoption.oneway,
body.bb-tab-airports .airportTypeoption.roundway { display:none !important; }

body.bb-tab-outstations #airport_trip_type_div { display:none !important; }

/* ── FIELD ORDER ── */
#airport_trip_type_div { order:0 !important; flex:1 1 100% !important; }
#pickuplocation        { order:1 !important; }
.bb3-swap-btn          { order:2 !important; }
#droplocation          { order:3 !important; }
#pickupTime            { order:4 !important; }
#pickuptimehrs         { order:5 !important; }
#pickupTime_drop       { order:6 !important; flex:1 1 calc(50% - 5px) !important; min-width:120px !important; }
#pickuptimehrs_drop    { order:7 !important; flex:1 1 calc(50% - 5px) !important; min-width:120px !important; }
#packages              { order:8 !important; flex:1 1 calc(50% - 5px) !important; min-width:120px !important; }

/* ── 16. HOUR INPUT ── */
#hour-input, #hour-input_drop {
    text-align:center !important;
    font-family:'Nunito',sans-serif !important;
    font-size:16px !important;
    font-weight:800 !important;
    color:#1a1a1a !important;
    padding:2px 12px 8px !important;
    border:none !important;
    outline:none !important;
    background:transparent !important;
    width:100% !important;
    cursor:pointer !important;
    display:block !important;
}

/* ── 17. SPINNER ── */
.spinner { width:18px; height:18px; border:2px solid #e0e0e0; border-top:2px solid #ffc107; border-radius:50%; animation:spin 0.8s linear infinite; margin:8px auto; }
@keyframes spin { 0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)} }

/* ── 18. TESTIMONIALS ── */
.bb-testimonials { padding:64px 40px; margin:0 0 5rem; background:#f9f9f9; border-radius:24px; overflow:hidden; }
.bb-testimonials__head { text-align:center; margin-bottom:40px; }
.bb-testimonials__head h2 { font-family:'Nunito',sans-serif; font-size:36px; font-weight:800; color:#1a1a1a; margin:0 0 8px; }
.bb-testimonials__head h2 span { color:#ffc107; }
.bb-testimonials__head p { font-size:15px; color:#888; margin:0; }
.bb-carousel-wrap { position:relative; display:flex; align-items:center; gap:16px; overflow:hidden; }
.bb-carousel { display:flex; gap:24px; transition:transform 0.50s cubic-bezier(.4,0,.2,1); will-change:transform; flex:1; min-width:0; }
.bb-review-card { background:#fff; border-radius:16px; padding:24px 20px; box-shadow:0 4px 20px rgba(0,0,0,0.07); flex:0 0 calc(33.333% - 16px); min-width:260px; max-width:calc(33.333% - 16px); display:flex; flex-direction:column; gap:10px; border:1px solid #f0f0f0; transition:box-shadow 0.25s, transform 0.25s; box-sizing:border-box; overflow:hidden; }
.bb-review-card:hover { box-shadow:0 10px 32px rgba(0,0,0,0.12); transform:translateY(-3px); }
.bb-review-card__quote { font-size:40px; line-height:1; color:#ffc107; font-family:Georgia,serif; height:32px; }
.bb-review-card__text { font-size:13px; line-height:1.7; color:#555; margin:0; flex:1; }
.bb-review-card__stars { color:#ffc107; font-size:14px; letter-spacing:2px; white-space:nowrap; }
.bb-review-card__author { display:flex; align-items:center; gap:10px; padding-top:14px; border-top:1px solid #f5f5f5; margin-top:auto; }
.bb-review-card__author img { width:44px !important; height:44px !important; min-width:44px !important; max-width:44px !important; border-radius:50% !important; object-fit:cover !important; border:2px solid #ffc107 !important; flex-shrink:0 !important; display:block !important; }
.bb-review-card__author strong { display:block; font-size:13px; font-weight:800; color:#1a1a1a; }
.bb-review-card__author span { font-size:11px; color:#999; }
.bb-carousel-btn { background:#fff; border:2px solid #e8e8e8; border-radius:50%; width:42px; height:42px; font-size:22px; cursor:pointer; color:#333; flex-shrink:0; display:flex; align-items:center; justify-content:center; transition:all 0.2s; z-index:2; }
.bb-carousel-btn:hover { background:#ffc107; border-color:#ffc107; color:#000; }
.bb-carousel-dots { display:flex; justify-content:center; gap:8px; margin-top:28px; }
.bb-dot { width:8px; height:8px; border-radius:50%; border:none; background:#ddd; cursor:pointer; padding:0; transition:all 0.25s; }
.bb-dot--active { background:#ffc107; width:24px; border-radius:4px; }

/* ── 19. RESPONSIVE ── */
@media screen and (max-width:1300px) {
    .bb-hero-left { flex:0 0 640px !important; width:640px !important; max-width:640px !important; }
    .form-sec-area { max-width:580px !important; }
}
@media screen and (max-width:1200px) {
    .bb-hero-left { flex:0 0 580px !important; width:580px !important; max-width:580px !important; }
    .form-sec-area { max-width:520px !important; }
    .banner-heading h1 { font-size:36px !important; line-height:46px !important; }
}
@media screen and (max-width:1000px) {
    .bb-hero-left { flex:0 0 500px !important; width:500px !important; max-width:500px !important; }
    .form-sec-area { max-width:460px !important; }
    .radio-btns { font-size:11px !important; padding:9px 6px !important; min-height:56px !important; }
}
@media screen and (max-width:900px) {
    .form-body {
        box-shadow: 0 4px 24px rgba(0,0,0,0.10) !important;
        border: 1px solid #e8e8e8 !important;
    }
    .main-body {
        background: #f5f5f5 !important;
    }
    .banner-section { flex-direction:column !important; min-height:auto !important; }
    .bg-image { object-position:center center !important; }
    /* .bb-hero-left { order:1 !important; flex:none !important; width:100% !important; max-width:100% !important; min-height:auto !important; padding:20px 16px 24px !important; background:#f5f5f5 !important; box-shadow:0 -4px 20px rgba(0,0,0,0.10) !important; overflow:visible !important; } */
    .bb-hero-left { order:1 !important; flex:none !important; width:100% !important; max-width:100% !important; min-height:auto !important; padding:40px 16px 24px !important; background:#f5f5f5 !important; box-shadow:none !important; overflow:visible !important; }
    .bb-hero-right { order:2 !important; justify-content:center !important; padding:56px 20px 32px !important; align-items:center !important; min-height:44vh !important; }
    .banner-heading { text-align:center !important; }
    .bb-hero-label { justify-content:center !important; }
    .banner-heading h1 { font-size:26px !important; line-height:34px !important; }
    .bb-trust-badges { justify-content:center !important; }
    .form-sec-area { max-width:100% !important; }
    .bb-review-card { flex:0 0 calc(50% - 12px); max-width:calc(50% - 12px); }
    .bb-testimonials { padding:40px 20px; }
    #pickuplocation, #droplocation { flex:1 1 calc(50% - 28px) !important; }
    #pickupTime, #pickuptimehrs, #pickupTime_drop, #pickuptimehrs_drop, #packages { flex:1 1 calc(50% - 5px) !important; }
    #airport_trip_type_div { flex:1 1 100% !important; }
}

/* ── FINAL MOBILE FIX (600px and below) ── */
@media (max-width: 600px) {
    
    /* Layout Fixes */
    .bb-hero-right { padding:44px 14px 28px !important; }
    
    .form-inputs > .d-flex.flex-wrap { 
        flex-direction:column !important; 
        gap:10px !important; 
        padding:10px !important; 
    }
    
    /* Full width inputs */
    .inputs-boxs,
    .bb3-location-block,
    #airport_trip_type_div,
    #pickuplocation, #droplocation,
    #pickupTime, #pickuptimehrs,
    #pickupTime_drop, #pickuptimehrs_drop,
    #packages { 
        flex:1 1 100% !important; 
        min-width:100% !important; 
        width:100% !important; 
        margin:8px 10px !important;
        position: relative !important;
    }

    .bb3-location-block { 
        margin:8px 10px !important; 
        width:calc(100% - 20px) !important;
    }
    
    .bb3-loc-row { padding:16px 14px !important; }

    /* Pet & Date */
    .bb3-pet-row, .bb3-date-row { 
        margin:8px 10px !important; 
        flex-direction:row !important; 
        gap:10px !important; 
    }
    .bb3-date-card { flex:1 1 100% !important; }

    /* Airport Type Dropdown Fix */
    body.bb-tab-airports #airport_trip_type_cont { display:none !important; }
    
    body.bb-tab-airports #airport_trip_type_div {
        display:block !important;
        flex:1 1 100% !important;
        order:0 !important;
        margin:8px 10px !important;
    }

    /* Clickable triggers */
    #airport_trip_type_show,
    .bb3-loc-row,
    .inputs-boxs {
        cursor:pointer !important;
        pointer-events:all !important;
        z-index:20 !important;
    }

    /* ── REFINED POPUP POSITIONING ── */
    #pickuplocation_div,
    #droplocation_div,
    .package-div,
    .date-picker .calendar,
    .date-picker .calendar_drop,
    .absolute-container,
    .absolute-container_drop {
        position: absolute !important;
        top: calc(100% + 8px) !important;
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-width: calc(100vw - 24px) !important;
        transform: none !important;
        /* z-index: 9999999 !important; */
        z-index: 2147483647 !important;
        box-shadow: 0 16px 50px rgba(0,0,0,0.25) !important;
    }

    /* Special fix for Airport Type dropdown */
    .package-div {
        left: 12px !important;
        right: 12px !important;
        max-height: 60vh !important;
        overflow-y: auto !important;
    }
}



/* ════════════════════════════════════════
   NEW DESIGN STYLES (bb3-*)
   ════════════════════════════════════════ */

body.bb-tab-rentals .bb3-loc-divider { display: none !important; }

#packages .bb3-loc-row,
#airport_trip_type_div .bb3-loc-row {
    border-bottom: 1px solid #f0f0f0;
    position: relative !important;
    overflow: visible !important;
}

#airport_trip_type_cont {
    position: absolute !important;
    top: calc(100% + 4px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 999999 !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 48px rgba(0,0,0,0.18) !important;
    border: 1px solid #e8e8e8 !important;
    padding: 4px 0 !important;
    overflow: hidden !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
}
#airport_trip_type_cont.d-n { display: none !important; }


/* FIX: airport option active/selected state */
.bb3-select-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 18px;
    cursor: pointer;
    font-family: 'Nunito', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #1a1a1a;
    transition: background 0.15s;
    border-bottom: 1px solid #f5f5f5;
}
.bb3-select-option:last-child { border-bottom: none; }
.bb3-select-option:hover { background: #fff8e1; color: #1a1a1a; }
.bb3-select-option.bb3-opt--active {
    background: #FFF3CC;
    border-left: 3px solid #FFC107;
    padding-left: 15px;
}
.bb3-row-chevron { flex-shrink: 0; margin-left: auto; }

/* Reset old flex-order rules that conflict with new layout */
#pickupTime, #pickuptimehrs, #pickupTime_drop, #pickuptimehrs_drop,
#packages, #airport_trip_type_div {
    order: unset !important;
}
#pickuptimehrs.bb3-time-inline {
    flex: none !important;
    min-width: 0 !important;
    width: auto !important;
    padding: 0 !important;
}
#pickupTime .bb3-time-inline input[type="text"],
#pickupTime_drop .bb3-time-inline input[type="text"] {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #666 !important;
    text-align: left !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 60px !important;
    display: inline-block !important;
}

/* ── 3-TAB BAR ── */
.bb3-tabs {
    display: flex;
    align-items: stretch;
    background: #fff;
    border-radius: 16px 16px 0 0;
    overflow: hidden;
    border-bottom: 2px solid #efefef;
}
.bb3-tab {
    flex: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 12px 14px;
    font-family: 'Nunito', sans-serif;
    font-size: 13px;
    font-weight: 800;
    color: #555;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    user-select: none;
    white-space: nowrap;
}
.bb3-tab svg { transition: none; flex-shrink: 0; }
.bb3-tab--sep { border-left: 1.5px solid #e0e0e0; }
.bb3-tab--active {
    background: #FFC107;
    color: #1a1a1a;
    border-radius: 14px 14px 0 0;
}
.bb3-tab:hover:not(.bb3-tab--active) { background: #fff8e1; color: #1a1a1a; }

/* ── ONE WAY / ROUND TRIP SUB-TABS ── */
.bb3-way-tabs {
    display: flex;
    gap: 10px;
    padding: 14px 14px 12px;
    background: #fff;
    border-bottom: 1px solid #f0f0f0;
}
.bb3-way-tab {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 1.5px solid #e0e0e0;
    border-radius: 12px;
    cursor: pointer;
    background: #f9f9f9;
    transition: border-color 0.18s, background 0.18s;
    user-select: none;
}
.bb3-way-tab strong {
    display: block;
    font-family: 'Nunito', sans-serif;
    font-size: 14px;
    font-weight: 800;
    color: #1a1a1a;
    line-height: 1.2;
    letter-spacing: 0.3px;
}
.bb3-way-tab span {
    font-size: 12px;
    color: #888 !important;
    display: block;
    margin-top: 2px;
    font-family: 'Nunito Sans', sans-serif;
    font-weight: 400;
}
.bb3-way-tab svg { flex-shrink: 0; color: #555 !important; }
.bb3-way-tab--active {
    background: #FFC107;
    border-color: #FFC107;
    box-shadow: 0 2px 10px rgba(255,193,7,0.35);
}
.bb3-way-tab--active strong { color: #1a1a1a !important; }
.bb3-way-tab--active span { color: #444 !important; }
.bb3-way-tab--active svg { color: #1a1a1a !important; }
.bb3-way-tab:hover:not(.bb3-way-tab--active) { border-color: #FFC107; background: #fff8e1; }

/* ── LOCATION BLOCK ── */
.bb3-location-block {
    position: relative;
    background: #fff;
    border-radius: 12px;
    margin: 12px 14px;
    border: 1.5px solid #e8e8e8;
    overflow: visible;
}
.bb3-loc-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    cursor: pointer;
    position: relative;
    overflow: visible;
    transition: background 0.15s;
}
.bb3-loc-row:hover { background: #fffdf5; }
.bb3-loc-pin { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 28px; }
.bb3-loc-content { flex: 1; min-width: 0; overflow: visible; position: static; }
.bb3-loc-label {
    display: block;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 11px;
    font-weight: 900;
    color: #FFC107;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin-bottom: 3px;
}
.bb3-loc-input {
    display: block;
    width: 100%;
    border: none;
    outline: none;
    background: transparent;
    font-family: 'Nunito', sans-serif;
    font-size: 18px;
    font-weight: 800;
    color: #1a1a1a;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0;
    line-height: 1.2;
}
.bb3-loc-input::placeholder { color: #bbb; font-weight: 500; font-size: 15px; }

/* Divider line + swap button */
.bb3-loc-divider {
    display: flex;
    align-items: center;
    position: relative;
    padding: 0 18px;
}
.bb3-loc-line {
    flex: 1;
    height: 1px;
    background: #e8e8e8;
}
.bb3-swap-btn {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1.5px solid #ddd;
    background: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFC107;
    transition: all 0.2s;
    z-index: 2;
    flex-shrink: 0;
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);
}
.bb3-swap-btn:hover { background: #fff8e1; border-color: #FFC107; color: #e6a800; }

#pickuplocation_div,
#droplocation_div {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    min-width: unset !important;
    max-width: 100% !important;
    transform: none !important;
    z-index: 999999 !important;
    background: #fff !important;
    border-radius: 14px !important;
    box-shadow: 0 16px 48px rgba(0,0,0,0.18) !important;
    border: 1px solid #e8e8e8 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* ── PET QUESTION ── */
.bb3-pet-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    margin: 0 14px 12px;
    background: #fff;
    border: 1.5px solid #e8e8e8;
    border-radius: 12px;
}
.bb3-pet-icon { flex-shrink: 0; display: flex; align-items: center; }
.bb3-pet-text { flex: 1; min-width: 0; }
.bb3-pet-text strong {
    display: block;
    font-family: 'Nunito', sans-serif;
    font-size: 14px;
    font-weight: 800;
    color: #1a1a1a;
}
.bb3-pet-text span { font-size: 12px; color: #888; display: block; margin-top: 2px; }
.bb3-pet-btns { display: flex; border: 1.5px solid #e0e0e0; border-radius: 10px; overflow: hidden; flex-shrink: 0; }
.bb3-pet-btn {
    padding: 9px 20px;
    border: none;
    background: #fff;
    cursor: pointer;
    font-family: 'Nunito', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #444;
    transition: background 0.15s, color 0.15s;
}
.bb3-pet-btn:first-child { border-right: 1px solid #e0e0e0; }
.bb3-pet-btn--active { background: #FFC107; color: #1a1a1a; font-weight: 800; }

/* ── DATE ROW ── */
.bb3-date-row {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    padding: 0 12px 10px;
    overflow: visible;
}

/* .bb3-date-card {
    flex: 1 1 calc(50% - 5px);
    min-width: 130px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 14px;
    background: #fff;
    border: 1.5px solid #e8e8e8;
    border-radius: 12px;
    cursor: pointer;
    position: relative;
    overflow: visible;
    transition: border-color 0.18s;
} */

.bb3-date-card {
    flex: 1 1 calc(50% - 6px);
    min-width: 140px;
    background: #fff;
    border: 1.5px solid #e8e8e8;
    border-radius: 14px;
    padding: 9px 8px;
    display: flex;
    align-items: flex-start;
    gap: 5px;
    cursor: pointer;
    transition: all .2s ease;
    position: relative;
}
.bb3-date-card:hover { border-color: #FFC107; }
.bb3-date-icon { flex-shrink: 0; margin-top: 3px; }
.bb3-date-inner { flex: 1; min-width: 0; overflow: visible; }
.bb3-date-lbl {
    display: block;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 11px;
    font-weight: 900;
    color: #FFC107;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin-bottom: 3px;
}
.bb3-date-inner .date-picker input[type="text"] {
    font-family: 'Nunito', sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #1a1a1a !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    padding: 0 !important;
    width: 100% !important;
    cursor: pointer !important;
    text-align: left !important;
    line-height: 1.3 !important;
}
.bb3-day-name {
    display: block;
    font-size: 13px;
    color: #777;
    font-weight: 600;
    font-family: 'Nunito Sans', sans-serif;
    margin-top: 2px;
}

/* Time anchor: keep in render tree so popup positions correctly; hide only the visible row */
#pickupTime .bb3-time-inline {
    display: block !important;
    height: 0 !important;
    overflow: visible !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
}
#pickupTime .bb3-time-inline > svg,
#pickupTime .bb3-time-inline > input[type="text"] {
    display: none !important;
}

/* Same anchor pattern for drop time container */
#pickuptimehrs_drop {
    height: 0;
    overflow: visible;
    position: relative;
}
#pickuptimehrs_drop > input[type="text"]:not([hidden]) {
    display: none !important;
}

/* Time inline (used in TRIP END card) */
.bb3-time-inline {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 4px;
    cursor: pointer;
    position: relative;
    overflow: visible;
}
.bb3-time-inline > svg { flex-shrink: 0; }
.bb3-time-inline > input[type="text"] {
    font-family: 'Nunito', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #666 !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 80px !important;
    cursor: pointer !important;
}

.bb3-date-card--end { display: flex; }

/* ── EXPLORE CABS BUTTON ── */
#form-btn { padding: 0 14px 16px !important; display: block !important; }
.bb3-explore-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 16px 24px !important;
    background: #FFC107 !important;
    color: #1a1a1a !important;
    border: none !important;
    border-radius: 12px !important;
    font-family: 'Nunito', sans-serif !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(255,193,7,0.4) !important;
    transition: background 0.2s, transform 0.12s, box-shadow 0.2s !important;
}
.bb3-explore-btn:hover { background: #FFB300 !important; transform: translateY(-1px) !important; box-shadow: 0 6px 20px rgba(255,193,7,0.5) !important; }

.bb3-date-display {
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    font-weight: 800;
    color: #1a1a1a;
    line-height: 1.3;
    cursor: pointer;
}
.bb3-time-display {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #666;
    margin-top: 3px;
    cursor: pointer;
}

/* ── TRUST BADGES ── */
.bb3-trust-badges {
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: 8px 8px 9px;
    border-top: 1px solid #f0f0f0;
    gap: 10px;
    flex-wrap: wrap;
}
.bb3-trust-item {
    display: flex;
    align-items: center;
    gap: 5px;
    flex: 1;
    min-width: 90px;
}
.bb3-trust-item strong { display: block; font-family: 'Nunito', sans-serif; font-size: 12px; font-weight: 800; color: #333; }
.bb3-trust-item span  { font-size: 11px; color: #888; margin-top: 2px; display: block; }
.bb3-trust-sep { width: 1px; height: 40px; background: #e8e8e8; flex-shrink: 0; }
.bb3-trust-icon-wrap {
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    border: 2px solid #FFC107;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

/* ── RATING BANNER ── */
.bb3-rating-banner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 7px 10px 8px;
    background: #111;
    border-radius: 0 0 16px 16px;
}
.bb3-rating-row1 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}
.bb3-rating-row1 span {
    font-family: 'Nunito', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
}
.bb3-laurel { flex-shrink: 0; }
.bb3-laurel--flip { transform: scaleX(-1); }
.bb3-stars {
    color: #FFD700;
    font-size: 12px;
    letter-spacing: 3px;
    white-space: nowrap;
    line-height: 1;
}
.bb3-stars strong { color: #fff; font-size: 12px; margin-left: 6px; letter-spacing: 0; }

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
    .bb3-way-tab strong { font-size: 12px; }
    .bb3-loc-input { font-size: 16px; }
    .bb3-date-inner .date-picker input[type="text"] { font-size: 14px !important; }
    /* Popups full-width on tablet too */
    .date-picker .calendar,
    .date-picker .calendar_drop {
        width: calc(100vw - 40px) !important;
        max-width: 340px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
    }
}




@media (max-width: 380px) {
    .bb3-tab { font-size: 9px; padding: 8px 4px; }
    .bb3-tab svg { width: 15px; height: 15px; }
    .bb3-loc-input { font-size: 13px !important; }
    .bb3-date-inner .date-picker input[type="text"] { font-size: 13px !important; }
    .bb3-way-tab strong { font-size: 11px; }
}

.bb3-tab-subtitle {
    display: none;
    text-align: center;
    font-family: 'Nunito', sans-serif;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #444;
    padding: 10px 14px 8px;
    background: #fff8e1;
    border-bottom: 1px solid #ffe082;
}

@media (min-width: 360px) and (max-width: 600px) {
  #pickuplocation_div,
    #droplocation_div {
        top: calc(100% + 8px) !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        z-index: 99999999 !important;
    }
    .sug {
        width: 100% !important;
        padding: 8px 16px -5px !important;
    }
}

@media (max-width: 900px) {
    .bb3-tab-subtitle {
        display: block;
    }
}




