.tour-finder {
    position: relative;
    color: #000;
    display: block;
    max-width: 100%;
    padding: 0.5em;
    margin: 0 auto;
    transition: all 0.4s ease;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
}

.tour-finder.scroll-mode {
    max-width: 70%;
}

.tour-finder:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    border-radius: 99rem;
    background-color: #ffffff;
    border: 1px solid #00000021;
    box-shadow: rgba(0, 0, 0, 0.1) 0 8px 24px 0, rgba(0, 0, 0, 0.02) 0 0 0 1px;
    transition: all 0.4s ease;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
}

.tour-finder.open:before {
    box-shadow: rgb(0 0 0 / 0%) 0 8px 24px 0, rgb(0 0 0 / 0%) 0 0 0 1px;
    background-color: #ebebeb;
}

.tour-finder .tour-finder-form {
    display: flex;
    position: relative;
    z-index: 2;
}

.tour-finder .tour-finder-form .tour-finder-bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 28%;
    overflow: hidden;
    height: 100%;
    border-radius: 99rem;
    transform: translateX(0.5em);
    transition: all 0.4s ease;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
}

.tour-finder .tour-finder-form .tour-finder-bg.open {
    box-shadow: 0 3px 8px rgb(0 0 0 / 9%);
    background-color: #fff;
}

.tour-finder .tour-finder-column {
    width: 28%;
    display: flex;
    align-items: center;
    padding: 0.5em 1.5em 0.5em 0;
    border-radius: 99rem;
    transition: all 0.4s ease;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
}

.tour-finder.scroll-mode .tour-finder-column {
    padding: 0.25em 0.75em 0.25em 0;
}

.tour-finder .tour-finder-column.open {
    color: #000;
}

.tour-finder .tour-finder-column:hover {
    background-color: #f5f5f5;
}

.tour-finder.open .tour-finder-column:hover {
    background-color: #dedede;
}

.tour-finder .tour-finder-column label {
    display: none;
}

.tour-finder .tour-finder-column select {

}

.tour-finder .tour-finder-filed {
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
}

.tour-finder .tour-finder-selected {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.75em;
    height: 100%;
    cursor: pointer;
    border-left: 1px solid #00000021;
    padding: 0.25em 0;
    transition: all 0.4s ease;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
}

.tour-finder.scroll-mode .tour-finder-selected {
    gap: 0;
}

.tour-finder.open .tour-finder-selected,
.tour-finder .tour-finder-column:hover .tour-finder .tour-finder-selected,
.tour-finder:hover .tour-finder-selected {
    border-color: transparent;
}

.tour-finder .tour-finder-column:nth-child(4) .tour-finder-selected {
    border: none;
}

.tour-finder .tour-finder-selected .tour-finder-selected-icon {
    width: 17px;
    height: 17px;
    stroke-width: 1;
    transition: all 0.4s ease;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
}

.tour-finder.scroll-mode .tour-finder-selected .tour-finder-selected-icon {
    opacity: 0;
}

.tour-finder .tour-finder-selected .tour-finder-selected-content {
    display: flex;
    flex-direction: column;
    line-height: 1;
    gap: 0.5em;
}

.tour-finder .tour-finder-selected .tour-finder-selected-label {
    padding: 0;
    font-size: 0.7rem;
    color: #757575;
    overflow: hidden;
    height: 14px;
    opacity: 1;
    transition: all 0.4s ease;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
}

.tour-finder.scroll-mode .tour-finder-selected .tour-finder-selected-label {
    height: 0;
    opacity: 0;
    margin-top: -5px;
}

.tour-finder .tour-finder-selected .tour-finder-selected-text {
    padding: 0;
    font-weight: 500;
    font-size: 0.8rem;
    transition: all 0.4s ease;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
}

.tour-finder.scroll-mode .tour-finder-selected .tour-finder-selected-text {
    font-size: 0.7rem;
}

.tour-finder .tour-finder-dropdown {
    position: absolute;
    right: -10%;
    top: 170%;
    color: #000;
    min-width: 300px;
    width: max-content;
    padding: 1.5em;
    border-radius: 2rem;
    box-shadow: 0 2px 8px rgb(0 0 0 / 7%);
    background-color: #ffffff;
    border: 1px solid #0000000d;
    transform: scale(0.8);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.4s ease;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    display: flex;
    flex-direction: column;
    gap: 1.5em;
}

.tour-finder .tour-finder-dropdown .tour-finder-dropdown-search {
    position: relative;
}

.tour-finder .tour-finder-dropdown .tour-finder-dropdown-search input {
    background-color: #E8E8E8;
    border-radius: 99rem;
    border: none;
    font-size: 0.8rem;
}

.tour-finder .tour-finder-dropdown .tour-finder-dropdown-search .tour-finder-dropdown-search-icon {
    position: absolute;
    left: 1em;
    width: 16px;
    height: 16px;
    bottom: 50%;
    transform: translateY(50%);
}

.tour-finder .tour-finder-column.open .tour-finder-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: scale(1);
}

.tour-finder .tour-finder-dropdown .tour-finder-row {
    display: flex;
    flex-direction: column;
    gap: .5em;
}

.tour-finder .tour-finder-dropdown .tour-finder-row.people-count-row {
    gap: 2em;
    margin: 0.5em;
}

.tour-finder .tour-finder-dropdown .tour-finder-row.departure {
    max-height: 300px;
}

.tour-finder .tour-finder-dropdown .tour-finder-dropdown-row-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.5em;
    max-height: 226px;
    overflow-y: auto;
}

.tour-finder .tour-finder-dropdown .tour-finder-dropdown-row-wrapper::-webkit-scrollbar {
    width: 4px;
}

.tour-finder .tour-finder-dropdown .tour-finder-dropdown-row-wrapper::-webkit-scrollbar-track {
    background: transparent;
}

.tour-finder .tour-finder-dropdown .tour-finder-dropdown-row-wrapper::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, .2);
    border-radius: 999px;
}

.tour-finder .tour-finder-dropdown .tour-finder-dropdown-row-wrapper::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, .35);
}

.tour-finder .tour-finder-dropdown .tour-finder-row span {
    font-size: 0.8rem;
    color: #757575;
}

.tour-finder .tour-finder-dropdown .tour-finder-row ul {
    margin: 0;
    padding: 0;
    list-style: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

.tour-finder .tour-finder-dropdown .tour-finder-row li {
    font-weight: 500;
    font-size: 0.9rem;
    margin: 0;
    border-radius: 2rem;
    background-color: transparent;
    cursor: pointer;
}

.tour-finder .tour-finder-dropdown .tour-finder-row ul.history-list {
    display: flex;
    flex-direction: row;
}

.tour-finder .tour-finder-dropdown .tour-finder-row ul.history-list li.history-item {
    background-color: #E8E8E8;
    padding: 0.25em 1em;
    font-size: 0.75rem;
}

.tour-finder .tour-finder-dropdown .tour-finder-row .destination-item {
    display: flex;
    gap: 0.75em;
    margin: 0.3em 0;
}

.tour-finder .tour-finder-dropdown .tour-finder-row .destination-item .destination-item-icon {
    width: 40px;
    height: 40px;
    padding: 0.8em;
    background-color: #E8E8E8;
    border-radius: 99rem;
}

.tour-finder .tour-finder-dropdown .tour-finder-row .destination-item .destination-item-icon svg {
    width: 100%;
    height: 100%;
}

.tour-finder .tour-finder-dropdown .tour-finder-row .destination-item .destination-item-content {
    display: flex;
    flex-direction: column;
    gap: 0.3em;
    justify-content: space-evenly;
}

.tour-finder .tour-finder-dropdown .tour-finder-row .destination-item .destination-item-content .destination-item-title {
    margin: 0;
    line-height: 1;
    font-size: 0.85rem;
}

.tour-finder .tour-finder-dropdown .tour-finder-row .destination-item .destination-item-content .destination-item-desc {
    font-size: 0.75rem;
    margin: 0;
    color: #757575;
    line-height: 1;
}

.tour-finder .tour-finder-submit {
    left: 0;
    bottom: 50%;
    gap: 0;
    transform: translateY(50%);
    position: absolute;
    display: flex;
    flex-direction: row;
    min-height: auto;
    border-radius: 99rem;
    padding: 1em 1em;
    color: #fff !important;
    background-color: #313131 !important;
    transition: all 0.4s ease;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
}

.tour-finder.scroll-mode .tour-finder-submit {
    padding: 0.75em;
}

.tour-finder .tour-finder-submit .tour-finder-submit-icon {
    width: 15px;
    height: 15px;
    transition: all 0.4s ease;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
}

.tour-finder.scroll-mode .tour-finder-submit .tour-finder-submit-icon {
    width: 12px;
    height: 12px;
}

.tour-finder .tour-finder-submit span {
    white-space: nowrap;
    padding-right: 0;
    font-weight: 500;
    font-size: 0.8rem;
    overflow: hidden;
    width: 0;
    transition: all 0.4s ease;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
}

.tour-finder.scroll-mode .tour-finder-submit span {
    font-size: .65rem;
}

.tour-finder.open .tour-finder-submit span,
.tour-finder .tour-finder-submit:hover span {
    width: 46px;
    padding-right: 0.5em;
}

.tour-finder.scroll-mode .tour-finder-submit:hover span {
    width: 38px;
}
.tours-calculator {
    position: relative;
}
.tours-calculator .tours-calculator-navigation {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    gap: 0.5em;
    z-index: 2;
    flex-direction: row-reverse;
}
.tours-calculator .tours-calculator-button {
    width: 25px;
    min-height: auto;
    height: 25px;
    padding: 0.5em;
    display: flex;
    background-color: #E8E8E8;
    border-radius: 99rem;
    color: #000;
}
.tours-calculator .tours-calculator-button svg {
    width: 100%;
    height: 100%;
}
.tours-calculator-wrapper {
    position: relative;
}
.tours-calculator-months {
    flex-direction: column;
    gap: 1.5em;
}
.tours-calculator-months .tours-calculator-year {
    width: 100%;
    min-height: 25px;
    display: flex;
    justify-content: flex-start;
    font-size: 1rem;
    align-items: flex-end;
}
.tours-calculator-months .tours-calculator-year span {
    font-weight: 500;
    font-size: 0.9rem;
    color: #000;
    line-height: 1;
}
.tours-calculator-months ul.tours-calculator-months-list {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75em;
    padding: 0;
    margin: 0;
}
.tours-calculator-months-list .tours-calculator-month {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5em;
    border-radius: 99rem !important;
    font-size: 0.8rem !important;
    border: 1px solid #E8E8E8;
    margin: 0;
}
.tours-calculator-months-list .tours-calculator-month span {
    font-size: 0.75rem;
    color: #000;
}
.tours-calculator-months-list .tours-calculator-month.disabled {
    opacity: 0.4;
    background-color: #E8E8E8 !important;
    cursor: no-drop;
}
.people-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.people-item .people-item-content {
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 0.75em;
}

.people-item .people-item-content .people-title {
    display: block;
    font-weight: 500;
    font-size: 0.9rem;
    color: #000;
    line-height: 1;
    margin: 0;
}

.people-item .people-item-content .people-subtitle {
    font-size: 0.75rem !important;
    margin: 0;
    color: #757575 !important;
    line-height: 1;
}

.people-item .people-counter {
    width: 50%;
    display: flex;
    gap: 0.5em;
    align-items: center;
    justify-content: flex-end;
}

.people-item .people-counter button {
    width: 30px;
    height: 30px;
    min-height: auto;
    padding: 0.6em;
    border-radius: 99rem;
    background-color: #E8E8E8;
}

.people-item .people-counter button.disabled {
    opacity: 0.4;
    background-color: #E8E8E8 !important;
    cursor: no-drop;
}

.people-item .people-counter button svg {
    width: 100%;
    height: 100%;
}

.people-item .people-counter .people-number {
    padding: 0;
    margin: 0;
    width: 35px;
    border: none;
    height: 100%;
}
/* Mobile Styles */
.tour-finder-mobile {
    display: none;
}

@media screen and (max-width: 991px) {
    .tour-finder.scroll-mode {
        max-width: 55%;
    }
}
@media (max-width: 767px) {
    .tour-finder {
        display: none;
    }
    .tour-finder-mobile {
        position: relative;
        display: block;
        width: 100%;
        margin-bottom: 0.75em;
    }
    .tour-finder-mobile .tfm-header {
        position: relative;
        color: #000;
        max-width: 100%;
        padding: 1em;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }
    .tour-finder-mobile .tfm-header .tfm-header-wrapper {
        position: relative;
        z-index: 2;
        display: flex;
        align-items: center;
        gap: 0.5em;
        flex-direction: row-reverse;
    }
    .tour-finder-mobile .tfm-header:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        border-radius: 99rem;
        background-color: #ffffff;
        border: 1px solid #00000021;
        box-shadow: rgba(0, 0, 0, 0.1) 0 8px 24px 0, rgba(0, 0, 0, 0.02) 0 0 0 1px;
    }
    .tour-finder-mobile .tfm-header .tfm-title {
        color: #000;
        font-weight: 500;
        font-size: 0.8rem;
    }
    .tour-finder-mobile .tfm-header .tfm-icon {
        width: 13px;
        stroke-width: 2;
    }
    .tfm-panel {
        position: fixed;
        right: 0;
        top: 0;
        width: 100vw;
        height: 100%;
        overflow-y: auto;
        padding: 1.5em;
        z-index: 99999;
        background-color: #fff;
        display: flex;
        flex-direction: column;
        gap: 1.5em;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.4s ease, visibility 0.4s ease;
        -moz-transition: opacity 0.4s ease, visibility 0.4s ease;
        -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
        -o-transition: opacity 0.4s ease, visibility 0.4s ease;
    }
    .tfm-panel::-webkit-scrollbar {
        width: 6px;
    }
    .tfm-panel::-webkit-scrollbar-track {
        background: transparent;
    }
    .tfm-panel::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, .2);
        border-radius: 999px;
    }
    .tfm-panel::-webkit-scrollbar-thumb:hover {
        background: rgba(0, 0, 0, .35);
    }
    .tfm-panel.open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
    .tfm-panel .tfm-panel-close {
        display: flex;
        justify-content: flex-start;
    }
    .tfm-panel .tfm-panel-close-button {
        width: 35px;
        height: 35px;
        min-height: auto;
        background-color: #fff;
        padding: 0.6em;
        border-radius: 99rem;
        box-shadow: 0 2px 10px rgb(0 0 0 / 10%);
    }
    .tfm-panel .tfm-panel-close-button svg {
        width: 100%;
    }
    .tfm-form {
        display: flex;
        flex-direction: column;
        gap: 1.5em;
    }
    .tfm-form .tfm-row {
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 1.5em;
        transform: translateY(-30px);
        opacity: 0;
        transition: all 0.4s ease;
        -webkit-transition: all 0.4s ease;
        -moz-transition: all 0.4s ease;
        -o-transition: all 0.4s ease;
    }
    .tfm-panel.open .tfm-row {
        transform: translateY(0);
        opacity: 1;
    }
    .tfm-form .tfm-row label {
        display: none;
    }
    .tfm-form .tfm-item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1.25em 1.5em;
        background-color: #fff;
        border-radius: 0.75rem;
        box-shadow: 0 2px 12px rgb(0 0 0 / 10%);
    }
    .tfm-row.open .tfm-item {
        display: none;
    }
    .tfm-form .tfm-item .tfm-item-label {
        font-size: 0.85rem;
        color: #868686;
        line-height: 1;
    }
    .tfm-form .tfm-item .tfm-item-text {
        font-size: 0.85rem;
        font-weight: 500;
        color: #000;
        line-height: 1;
    }
    .tfm-form .tfm-dropdown {
        padding: 1.5em 1.5em;
        background-color: #fff;
        border-radius: 0.75rem;
        box-shadow: 0 2px 12px rgb(0 0 0 / 11%);
        flex-direction: column;
        gap: 0.75em;
        display: none;
    }
    .tfm-row.open .tfm-dropdown {
        display: flex;
    }
    .tfm-form .tfm-dropdown-header {
        font-size: 1.15rem;
        font-weight: 600;
    }
    .tfm-form .tfm-dropdown-search {
        position: relative;
        margin-bottom: 0.5em;
    }
    .tfm-form .tfm-dropdown-search input {
        background-color: #E8E8E8;
        border-radius: 0.5rem;
        border: none;
        font-size: 0.8rem;
        padding: 1em;
        height: auto;
    }
    .tfm-form .tfm-dropdown-search .tfm-dropdown-search-icon {
        position: absolute;
        left: 1em;
        width: 16px;
        height: 16px;
        bottom: 50%;
        transform: translateY(50%);
    }
    .tfm-form .tfm-dropdown-row-wrapper {display: flex;flex-direction: column;gap: 1.5em;max-height: 226px;overflow-y: auto;}
    .tfm-form .tfm-dropdown-row {display: flex;flex-direction: column;gap: 0.5em;}
    .tfm-form .tfm-dropdown-row > span {font-size: 0.8rem;color: #757575;}
    .tfm-form .tfm-dropdown-row.suggested ul {margin: 0;padding: 0;list-style: none;cursor: pointer;display: flex;flex-direction: column;gap: 0.5em;}
    .tfm-form .tfm-dropdown-row.suggested .suggested-item {display: flex;gap: 0.75em;margin: 0.3em 0;font-weight: 500;font-size: 0.9rem;border-radius: 2rem;background-color: transparent;cursor: pointer;}
    .tfm-form .tfm-dropdown-row.suggested .suggested-item-icon {width: 45px;height: 45px;padding: 1em;background-color: #E8E8E8;border-radius: 99rem;}
    .tfm-form .tfm-dropdown-row.suggested .suggested-item-content {display: flex;flex-direction: column;gap: 0.3em;justify-content: space-evenly;}
    .tfm-form .tfm-dropdown-row.suggested .suggested-item-title {margin: 0;line-height: 1;font-size: 0.9rem;}
    .tfm-form .tfm-dropdown-row.suggested .suggested-item-desc {font-size: 0.8rem;margin: 0;color: #757575;line-height: 1;}
    .tfm-form .tfm-people-count-row {
        gap: 2em;
        margin: 0.5em;
        display: flex;
        flex-direction: column;
    }
    .tfm-form .tfm-people-count-row .tfm-people-item {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .tfm-form .tfm-people-count-row .tfm-people-item-content {
        width: 50%;
        display: flex;
        flex-direction: column;
        gap: 0.75em;
    }
    .tfm-form .tfm-people-count-row .tfm-people-title {
        display: block;
        font-weight: 500;
        font-size: 0.9rem;
        color: #000;
        line-height: 1;
        margin: 0;
    }
    .tfm-form .tfm-people-count-row .tfm-people-subtitle {
        font-size: 0.75rem !important;
        margin: 0;
        color: #757575 !important;
        line-height: 1;
    }
    .tfm-form .tfm-people-count-row .tfm-people-counter {
        width: 50%;
        display: flex;
        gap: 0.5em;
        align-items: center;
        justify-content: flex-end;
    }
    .tfm-form .tfm-people-count-row button {
        width: 30px;
        height: 30px;
        min-height: auto;
        padding: 0.6em;
        border-radius: 99rem;
        background-color: #E8E8E8;
    }
    .tfm-form .tfm-people-count-row .button.disabled {
        opacity: 0.4;
        background-color: #E8E8E8 !important;
        cursor: no-drop;
    }
    .tfm-form .tfm-people-count-row .tfm-people-number {
        padding: 0;
        margin: 0;
        width: 35px;
        border: none;
        height: 100%;
    }
    .tfm-form .tfm-submit-wrapper {
        display: flex;
        transform: translateY(30px);
        opacity: 0;
        transition: all 0.4s ease;
        -webkit-transition: all 0.4s ease;
        -moz-transition: all 0.4s ease;
        -o-transition: all 0.4s ease;
    }
    .tfm-panel.open .tfm-submit-wrapper  {
        transform: translateY(0);
        opacity: 1;
    }
    .tfm-form .tfm-submit {
        font-size: 0.9rem;
        background-color: #313131 !important;
        color: #fff;
        border-radius: 0.75em;
        padding: 1em 3em;
        min-height: auto;
    }
}