.ts-searchbar__form {
    border: 3px solid #1f2937;
    border-radius: 1rem;
    padding: 6px 12px;
}

.ts-searchbar__grid {
    display: grid;
    grid-template-columns: 1.3fr 1px 0.85fr auto 1fr auto 0.85fr auto;
    align-items: center;
    column-gap: 1px;
}

.ts-searchbar__item {
    padding: 6px 10px;
    min-width: 0;

    &:hover {
        /*background-color: rgba(0, 0, 0, 0.06);*/
    }
}

.ts-searchbar__label {
    /*white-space: nowrap;*/
    /*overflow: hidden;*/
    /*text-overflow: ellipsis;*/
}

.ts-searchbar__value {
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 23px;
    padding: 2px 0;
    color: var(--bs-body-color);
}

.ts-searchbar__sep {
    width: 1px;
    height: 70%;
    background: #e5e7eb;
}

.ts-searchbar__action {
    display: flex;
    justify-content: flex-end;
    padding-right: 2px;
}

.ts-searchbar__btn {
    position: relative;
    top: 4px;
    right: 4px;
}

@media (min-width: 576px) {
    .ts-dest__content {
        padding: 20px;
    }
    .popup_wrapper {
        margin-top: 27px !important;
        left: -12px!important;
    }
}

.ts-dest__typeahead {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 3px solid #1f2937;
    border-radius: 9999px;
    padding: 10px 14px;
    background: #fff;
}

.ts-dest__input {
    border: 0;
    outline: 0;
    width: 100%;
    font-size: 16px;
}

.ts-dest__clear {
    border: 0;
    background: transparent;
    font-size: 20px;
    line-height: 1;
    padding: 0 6px;
    opacity: .7;
}

.ts-dest__results {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    /*width: 1130px;*/
    max-height: 430px;
    z-index: 3000;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    overflow-y: auto;
    padding-bottom: 32px;
}

.ts-dest__result {
    display: flex;
    align-items: center;
    /*justify-content: space-between;*/
    padding: 14px 18px;
    cursor: pointer;
    user-select: none;
    border-top: 1px solid #f1f5f9;
    font-weight: 600;
}

.ts-dest__result:first-child {
    border-top: 0;
}

.ts-dest__result small {
    font-weight: 400;
    color: #6b7280;
}

.ts-dest__result:hover {
    background: #f8fafc;
}

.ts-dest__result-arrow {
    opacity: .5;
}


.ts-dest {
    position: relative;
}

.ts-dest__panel {
    background: #fff;
    border-radius: 16px;
    box-shadow: var(--bs-box-shadow) !important;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: calc(100% + 12px);
    width: min(1100px, 100vw - 32px);
    z-index: 2500;
}

.ts-searchbar__form,
.ts-searchbar__grid {
    overflow: visible !important;
}

/* spoločné vlastnosti pre dropdowny */
.ts-floatbox {
    position: fixed;
    left: 0;
    top: 0;
    width: 0;
    z-index: 300;
    min-height: 400px;
    max-height: 430px;
    background: #fff;
    border-radius: 16px;
    box-shadow: var(--bs-box-shadow) !important;
    overflow: hidden;
}

.ts-offdest .offcanvas-body {
    padding-bottom: 84px; /* miesto pre footer */
}

.ts-offdest__search {
    position: sticky;
    top: 0;
    background: #fff;
    padding-top: 12px;
    padding-bottom: 12px;
    z-index: 2;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.ts-offdest__searchbox {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(15, 23, 42, .2);
    border-radius: 10px;
    padding: 10px 12px;
}

.ts-offdest__input {
    border: 0;
    outline: 0;
    width: 100%;
    font-size: 14px;
    font-size: 16px;
    min-width: 23px;
}

.ts-offdest__icon {
    opacity: .7;
}

.ts-offdest__clear {
    border: 0;
    background: #0ea5a3;
    color: #fff;
    width: 26px;
    height: 26px;
    border-radius: 13px;
    line-height: 26px;
}

.ts-offdest__results {
    margin-top: 10px;
    border-radius: 12px;
    border: 1px solid rgba(15, 23, 42, .08);
    overflow: hidden;
}

.ts-offdest__result {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 14px;
    background: #fff;
    border-top: 1px solid rgba(15, 23, 42, .06);
    font-weight: 600;
}

.ts-offdest__result:first-child {
    border-top: 0;
}

.ts-offdest__result small {
    font-weight: 400;
    opacity: .7;
}

.ts-offdest__result-arrow {
    opacity: .5;
    font-size: 18px;
}

.ts-offdest__section-title {
    font-size: 20px;
    font-weight: 700;
    margin: 16px 0 10px;
}

.ts-tree__item {
    position: relative;
}

.ts-tree__row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 4px;
}

.ts-tree__row--child {
    padding-left: 28px;
}

.ts-tree__toggle {
    position: absolute;
    right: 0;
    top: 6px;
    border: 0;
    background: transparent;
    font-size: 18px;
    opacity: .7;
}

.ts-control {
    border: 0 !important;
}

.ts-dest__summary {
    cursor: text;
    min-height: 24px; /* nech to neskočí výškou */
    color: var(--bs-body-color);
    min-height: 23px;
}

.ts-dest__summary.is-empty {
    color: var(--bs-secondary-color);
}

.ts-tree__chev {
    display: inline-block;
    transition: transform .15s ease-in-out;
}

button[aria-expanded="true"] .ts-tree__chev {
    transform: rotate(180deg);
}

.ts-dest__footer {
    position: sticky;
    bottom: 0;
    background: #fff;
    z-index: 5;
    border-top: 1px solid rgba(15, 23, 42, .08);
    display: flex;
    justify-content: space-between;
    gap: 6px;
}

.ts-searchbar__input,
.ts-searchbar__summary {
    transition: opacity 0.15s ease-in-out;
}

.ts-tree__content {
    overflow-y: auto;
    overscroll-behavior: contain;
    min-height: 0;
    max-height: 300px;
    scrollbar-width: auto;
}

/* Responsive */
@media (max-width: 575.98px) {
    .ts-searchbar__grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
      "a a"
      "b b"
      "c d"
      "btn btn";
        row-gap: 12px;
        column-gap: 12px;
        align-items: start;
    }

    .ts-searchbar__sep {
        display: none !important;
    }

    /* priraď oblasti podľa poradia children */
    .ts-searchbar__grid > :nth-child(1) {
        grid-area: a;
    }

    /* Kam */
    .ts-searchbar__grid > :nth-child(3) {
        grid-area: b;
    }

    /* Kedy */
    .ts-searchbar__grid > :nth-child(5) {
        grid-area: c;
        position: relative;
    }

    /* Odkiaľ */
    .ts-searchbar__grid > :nth-child(7) {
        grid-area: d;
    }

    /* Koľko */
    .ts-searchbar__grid > :nth-child(8) {
        grid-area: btn;
    }

    /* Button wrapper */
    .ts-searchbar__btn {
        width: 100%;
    }

    /* separator medzi Odkiaľ (c) a Koľko (d) */
    .ts-searchbar__grid > :nth-child(5)::after {
        content: "";
        position: absolute;
        right: -6px; /* polovica column-gap (12px) */
        top: 50%;
        transform: translateY(-50%);
        width: 1px;
        height: 28px;
        background: #e5e7eb;
    }

    .ts-offdest__results {
        border-radius: 0 !important;
        border: 0 !important;
    }

    .ts-offdest__results .ts-dest__result {
        padding: 14px 0px !important;
    }

    .ts-offdest__results .ts-dest__result:hover {
        background-color: white;
    }
}

.flatpickr-calendar {
    border-radius: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--bs-body-color) !important;
}

.flatpickr-day, .flatpickr-months, .flatpickr-weekdaycontainer, .flatpickr-weekday, .flatpickr-month {
    color: var(--bs-body-color) !important;
}

.flatpickr-disabled {
    color: var(--bs-secondary-color) !important;
}
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
    background: var(--bs-light) !important;
    border: 1px solid var(--bs-primary) !important;
}
span.flatpickr-weekday {
    font-size: 10px;
    text-transform: uppercase;
    color: var(--bs-secondary-color) !important;
    font-weight: 400;
}

.form-check-input:checked[type="checkbox"] {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath fill='%23fff' d='m13.78 5.63-.02-.02a.851.851 0 0 0-1.2 0l-5.15 5.03-1.96-1.91a.851.851 0 0 0-1.2 0 .84.84 0 0 0-.03 1.16l2.51 2.47c.38.37.97.37 1.35 0l5.68-5.56c.31-.32.32-.84.02-1.17z'/%3E%3C/svg%3E")!important;
}
.form-check-input:checked {
    background-color: var(--bs-primary) !important;
    border-color: #2773a5;
}
.form-check-input[type="checkbox"] {
    border-radius: .25em;
}
.form-check .form-check-input {
    float: left;
    margin-left: -2.1875rem;
}
.form-check-input {
    margin-top: calc(1em*var(--bs-line-height, 1.5)*.5 - .625rem);
}
.form-check-input {
    appearance: none;
    background-color: #fff;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    border: 1px solid rgba(0,0,0,.25);
    border-top-color: rgba(0, 0, 0, 0.25);
    border-right-color: rgba(0, 0, 0, 0.25);
    border-bottom-color: rgba(0, 0, 0, 0.25);
    border-left-color: rgba(0, 0, 0, 0.25);
    height: 1.25rem;
    margin-top: .125rem;
    print-color-adjust: exact;
    transition: font-weight .15s;
    vertical-align: top;
    width: 1.25rem;
}

.form-check-input {
    appearance: none;
    background-color: #fff;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    border: 1px solid rgba(0,0,0,.25);
    height: 1.25rem;
    margin-top: .125rem;
    print-color-adjust: exact;
    transition: font-weight .15s;
    vertical-align: top;
    width: 1.25rem;
}
.form-check-input:active {
    filter: brightness(90%);
}
.form-check-input:focus {
    border-color: #2773a5;
    box-shadow: 0 0 0 .25rem rgba(39,115,165,.2);
    outline: 0;
}

.stay-range .btn-sm {
    --bs-btn-border-radius: 1rem!important;
}

.popover-backdrop {
    background-color: rgba(0,0,0,.1);
    height: 100vh;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: opacity .3s;
    width: calc(var(--vw, 1vw)*100);
    z-index: 1050;
}

/* default hidden state */
.dropdown-menu {
    opacity: 0;
    transition:
            opacity 160ms ease,
            transform 160ms ease;
}

/* shown state */
.dropdown-menu.show {
    opacity: 1;
}


.popover {
    opacity: 0;
    transition:
            opacity 150ms ease,
            transform 150ms ease;
}

.popover.show {
    opacity: 1;
}
