/* =============================================
   Tour Search Filter Bar  —  tour-search-bar.css
   ============================================= */

/* ── Outer wrap — sits over hero image ── */
.tsb-wrap {
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
    position: absolute;
    margin: -2% 0px 5% 0px;
    z-index: 100;
}

/* ── Glass bar ── */
.tsb-bar {
    display: flex;
    align-items: stretch;
    background: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 6px;
    overflow: hidden;
    max-width: 860px;
    margin: 0 auto;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
}

/* ── Each field ── */
.tsb-field {
    flex: 1;
    min-width: 0;
    background: rgba(255, 255, 255, 0.88);
}

.tsb-field--cat  { border-radius: 6px 0 0 6px; }
.tsb-field--dest { border-radius: 0; }

/* ── Select wrapper (for custom chevron) ── */
.tsb-select-wrap {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}

.tsb-select {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    height: 100%;
    min-height: 58px;
    padding: 0 44px 0 22px;
    background: transparent;
    border: none;
    outline: none;
    font-size: 0.95rem;
    font-weight: 500;
    color: #1a1a2e;
    font-family: 'Segoe UI', system-ui, sans-serif;
    cursor: pointer;
    letter-spacing: 0.01em;
}

.tsb-select:disabled {
    color: #9ca3af;
    cursor: not-allowed;
}

.tsb-select option {
    background: #fff;
    color: #1a1a2e;
    font-weight: 400;
}

/* Custom chevron icon */
.tsb-chevron {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #0ea5c9;
    pointer-events: none;
    display: flex;
    align-items: center;
    transition: transform 0.2s ease;
}

.tsb-select:focus + .tsb-chevron {
    transform: translateY(-50%) rotate(180deg);
}

/* ── Vertical divider between fields ── */
.tsb-divider {
    width: 1px;
    background: rgba(0, 0, 0, 0.1);
    align-self: stretch;
    flex-shrink: 0;
}

/* ── Find Now button ── */
.tsb-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 36px;
    min-height: 58px;
    background: #0f7cff;
    color: #fff;
    border: none;
    outline: none;
    font-size: 1rem;
    font-weight: 600;
    font-family: 'Segoe UI', system-ui, sans-serif;
    letter-spacing: 0.04em;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.2s ease, transform 0.15s ease;
    border-radius: 0 6px 6px 0;
    white-space: nowrap;
}

.tsb-btn:hover  { background: #0e7490; }
.tsb-btn:active { transform: scale(0.98); }

.tsb-btn svg {
    flex-shrink: 0;
}

/* ── Shake animation when nothing selected ── */
@keyframes tsb-shake {
    0%, 100% { transform: translateX(0); }
    20%       { transform: translateX(-6px); }
    40%       { transform: translateX(6px); }
    60%       { transform: translateX(-4px); }
    80%       { transform: translateX(4px); }
}

.tsb-bar.tsb-shake {
    animation: tsb-shake 0.45s ease;
}

/* ── Responsive ── */
@media (max-width: 640px) {
    .tsb-bar {
        flex-direction: column;
        border-radius: 12px;
    }

    .tsb-field,
    .tsb-field--cat,
    .tsb-field--dest {
        border-radius: 0;
    }

    .tsb-divider {
        width: 100%;
        height: 1px;
    }

    .tsb-btn {
        border-radius: 0 0 12px 12px;
        padding: 16px;
        min-height: 52px;
    }

    .tsb-select {
        min-height: 52px;
    }
}