@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap");

:root {
    --text-colors-main: #001238;
    --text-colors-placeholder: #778295;
    --text-colors-alert: #3D1617;
    --bg-colors-main: #ffffff;
    --bg-colors-success: #EBF9F6;
    --bg-colors-secondary: #ebf0ff;
    --bg-colors-accent: #ebf0ff ;
    --bg-colors-alert: #FEEEEF;
    --border-colors-main: #e4e6eA;
    --border-colors-secondary: #778295;
    --border-colors-success: #32C0A0;
    --border-colors-accent: #36f;
    --border-colors-alert: #F3565D;
    --button-colors-main: #36f;
    --button-colors-hover: #264dc3;
    --button-colors-active: #193586;
    --button-colors-disabled: #99b2ff;;
    --button-text-color: #ffffff;
    --font-family: "Poppins", sans-serif;
}

* {
    box-sizing: border-box;
}

body {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: 100vh;
    margin: 0;
    padding: 0 30px;
    font-family: var(--font-family);
    background: var(--bg-colors-secondary);
}

nav {
    position: absolute;
    top: 0;
    display: flex;
    justify-content: flex-end;
    width: 100%;
    padding-top: 8px;
}

.nav__link {
    margin-left: auto;
}

.nav__button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    margin: 0 16px 0 0;
    padding: 8px 16px;
    background-color: var(--button-colors-main);
    border-radius: 20px;
    color: var(--button-text-color);
    text-align: center;
    font-family: var(--font-family);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px;
    outline: 0;
    border: none;
    cursor: pointer;
    text-decoration: none;
}

.nav__button:hover {
    background: var(--button-colors-hover);
    text-decoration: none;
}

.nav__button:active {
    background: var(--button-colors-active);
}

.header__logo {
    margin-bottom: 40px;
}

.container {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 564px;
    width: 100%;
    padding: 40px;
    border-radius: 8px;
    border: 1px solid var(--border-colors-main);
    background: var(--bg-colors-main);
    box-shadow: 0px 4px 64px 0px rgba(119, 130, 149, 0.1);
}

.container__title {
    margin: 0 0 20px 0;
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    color: var(--text-colors-main);
}

.container__subtitle {
    margin: 0 0 20px 0;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    color: var(--text-colors-main);
}

.notification {
    color: var(--text-colors-alert);
    margin-bottom: 20px;
    padding: 8px 16px;
    gap: 8px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    flex-direction: row;
    align-self: stretch;
    font-size: 14px;
    font-weight: 400;
}

.notification--error {
    background-color: var(--bg-colors-alert);
    border: 1px solid var(--border-colors-alert);
}

.notification--success {
    background-color: var(--bg-colors-success);
    border: 1px solid var(--border-colors-success);
}

.notification__icon {
    vertical-align: -0.125em;
    fill: currentcolor;
    margin-right: 0.5rem!important;
    flex-shrink: 0;
}

.notification__icon--warning {
    width: 20px;
    height: 18px;
    background-image: url("/images/triangle-exclamation-dd94b3112762f6931c95af7205d8a249.svg");
}

.notification__icon--success {
    width: 24px;
    height: 24px;
    background-image: url("/images/check-circle-455e47fe225760df6f964620b5169e35.svg");
}

.container__selection {
    width: 100%;
}

.selection {
    display: flex;
    flex-direction: column;
}

.selection__title {
    margin: 0 0 8px 0;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
    color: var(--text-colors-main);
}

.selection__icon {
    position: absolute;
    left: 10px;
}

.selection__select {
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
}

.selection__search {
    display: flex;
    position: relative;
    width: 100%;
}

.selection__search-icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    pointer-events: none;
}

.selection__search-icon--search {
    background-image: url("/images/search-f4a5be0509cbb2bd9c5c9099b2d40adc.svg");
}

.selection__search-icon--arrow {
    background-image: url("/images/arrow-b274a24e6449208d5554c42ca71e880e.svg");
}

.selection__search-icon--loading {
    background-image: url("/images/loading-2724481420a61982057cc5a47d444320.svg");
}

.selection__search-icon--clear {
    background-image: url("/images/clear-149139de6ff075443aea24543d3328f4.svg");
    cursor: pointer;
    pointer-events: auto;
}

.selection__search-icon--clear:hover,
.selection__search:focus-within .selection__search-icon--clear {
    background-image: url("/images/clear-dark-74c6bb2821aba7900f9625e51b078c84.svg");
}

.selection__search-input {
    border-radius: 4px;
    border: 1px solid var(--border-colors-main);
    background: var(--bg-colors-main);
    width: 100%;
    padding: 8px 44px 8px 16px;
    outline: none;
    display: flex;
    color: var(--text-colors-main);
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
    font-family: var(--font-family);
    cursor: default;
}

.selection__search-input::placeholder {
    color: var(--text-colors-placeholder);
}

.selection__search:hover .selection__search-input {
    border: 1px solid var(--border-colors-secondary);
}

.selection__search:focus-within .selection__search-input {
    border: 1px solid var(--border-colors-accent);
    box-shadow: 0px 0px 8px 0px rgba(51, 102, 255, 0.5);
}


.selection__options {
    display: none;
    position: absolute;
    top: 42px;
    list-style: none;
    padding: 16px 0;
    margin: 0;
    max-height: 224px;
    width: 100%;
    overflow-y: auto;
    border-radius: 8px;
    border: 1px solid var(--border-colors-main);
    background: var(--bg-colors-main);
    z-index: 1;
}

.selection__option {
    padding: 8px;
    margin: 0px 8px;
    cursor: pointer;
    display: flex;
}

.selection__option:hover,
.selection__option--selected {
    border-radius: 4px;
    background: var(--bg-colors-accent);
}

.selection__option-icon {
    min-width: 24px;
    min-height: 24px;
    margin: 0 8px 0 0;
    background: url("/images/property-f056573e03bebb66dbb4d9f4d82ae75b.svg");
}

.selection__option-content {
    color: var(--text-colors-main);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.selection__button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 20px 0;
    padding: 8px 16px;
    background-color: var(--button-colors-main);
    border-radius: 20px;
    color: var(--button-text-color);
    text-align: center;
    font-family: var(--font-family);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px;
    outline: 0;
    border: none;
    cursor: pointer;
}

.selection__button:disabled {
    cursor: auto;
    background: var(--button-colors-disabled);
}

.selection__button:hover:enabled {
    background: var(--button-colors-hover);
}

.selection__button:active:enabled {
    background: var(--button-colors-active);
}

.selection:last-child .selection__button {
    margin-bottom: 0;
}

.separator {
    width: 100%;
    height: 12px;
    border-bottom: 1px solid var(--border-colors-main);
    text-align: center;
    margin: 20px 0 25px;
}

.separator__word {
    font-size: 12px;
    text-transform: uppercase;
    background-color: var(--bg-colors-main);
    padding: 0 10px;
    color: var(--text-colors-placeholder);
}

.login {
    display: flex;
    align-items: center;
    flex-direction: row;
    align-self: stretch;
}

.login__button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 20px 0;
    padding: 8px 16px;
    background-color: var(--button-colors-main);
    border-radius: 20px;
    color: var(--button-text-color);
    text-align: center;
    font-family: var(--font-family);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px;
    outline: 0;
    border: none;
    cursor: pointer;
    text-decoration: none;
}

.login__button:hover {
    background: var(--button-colors-hover);
}

.login__button:active {
    background: var(--button-colors-active);
}

.recent-properties {
    border-bottom: 1px solid var(--border-colors-main);
    margin-bottom: 8px;
    padding-bottom: 8px;
}

.recent-properties__header {
    padding: 8px 8px 4px 8px;
    margin: 0 8px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-colors-placeholder);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.recent-properties__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.recent-properties__item {
    padding: 6px 8px;
    margin: 0 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    border-radius: 4px;
    transition: background-color 0.15s ease;
    position: relative;
}

.recent-properties__item:hover {
    background: var(--bg-colors-accent);
}

.recent-properties__item .selection__option-content {
    font-size: 13px;
    color: var(--text-colors-placeholder);
    flex: 1;
    cursor: pointer;
}

.recent-properties__item:hover .selection__option-content {
    color: var(--text-colors-main);
}

.recent-properties__remove {
    background: none;
    border: none;
    color: var(--text-colors-placeholder);
    font-size: 16px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin-left: 8px;
    opacity: 0;
    transition: all 0.15s ease;
    flex-shrink: 0;
}

.recent-properties__item:hover .recent-properties__remove {
    opacity: 1;
}

.recent-properties__remove:hover {
    background: var(--bg-colors-alert);
}
