.tfl-search,
.tfl-search * {
    box-sizing: border-box;
}

.tfl-search {
    --tfl-navy: #08152c;
    --tfl-blue: #0b4c92;
    --tfl-muted: #8c98ab;
    --tfl-border: #ded8c8;
    --tfl-background: #fffdf5;
	--tfl-mobile-search-top: 72px;
    position: relative;
    width: min(100%, 520px);
    font-family: inherit;
}

.tfl-search__panel {
    width: 100%;
}

.tfl-search__form {
    display: flex;
    align-items: center;
        max-width: 320px;
    min-height: 40px;
    padding: 0 20px;
    gap: 14px;
    border: 2px solid var(--tfl-border);
    border-radius: 999px;
    background: var(--tfl-background);
    transition: border-color .2s ease, box-shadow .2s ease;
}

.tfl-search__form:focus-within {
    border-color: var(--tfl-blue);
    box-shadow: 0 0 0 1px var(--tfl-blue);
}

.tfl-search__input {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    padding: 0;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: var(--tfl-navy);
    font: inherit;
    font-size: 14px;
    line-height: 1.2;
    appearance: none;
}

.tfl-search__input::placeholder {
    color: var(--tfl-muted);
    opacity: 1;
}

.tfl-search__input::-webkit-search-cancel-button {
    cursor: pointer;
}


.tfl-search__mobile-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 40px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--tfl-navy);
    cursor: pointer;
}


@media (max-width: 992px) {
    .tfl-search {
        width: auto;
		text-align: right;
    }

    .tfl-search__mobile-toggle {
        display: inline-flex;
    }
	
	.tfl-search__form {
		max-width: 100%;
	}


    .tfl-search__panel {
        display: none;
        position: fixed;
        z-index: 99999;
        top: var(--tfl-mobile-search-top, 116px);
        left: 0;
        right: 0;
        width: 100%;
        padding: 12px 16px;
        border-top: 1px solid #e4dfd2;
        border-bottom: 1px solid #e4dfd2;
        background: var(--tfl-background);
    }

    .tfl-search.is-open .tfl-search__panel {
        display: block;
    }


}
