/* ─────────────────────────────────── */
/* ─────────────────────────────────── */
/* BLOCK: Universal elements */
/* ─────────────────────────────────── */
/* ─────────────────────────────────── */

.top-container button.square {
    background-color: var(--blue-400);
    border-color: var(--blue-100);
}

.top-container button.square:is(:focus, :focus-within) {
    border-color: var(--white);
}

.top-container button.square:is(:hover) {
    background-color: var(--blue-100);
    border-color: var(--white);
}

.top-container button.square span.material-symbols-outlined {
    color: var(--white);
}

.top-container button.square:is(:focus, :focus-within) span.material-symbols-outlined {
    color: var(--white);
}

.top-container button.square:is(:hover) span.material-symbols-outlined {
    color: var(--blue-400);
}

.top-container span.divider-vertical {
    background-color: var(--blue-300);
    height: 2em;
    margin: 0 0.5em;
    transform: rotate(30deg);
    width: 1px;
}

.top-container input.search,
.top-container input.text,
.top-container button.trigger:not(.square) {
    background-color: var(--blue-400);
    border: solid 1px transparent;
    border-radius: var(--radius-100);
    color: var(--white);
    padding: 0.25em 0.5em;
}

.top-container input.search,
.top-container button.trigger:not(.square) span.text {
    font-size: var(--font-300);
}

.top-container input.search,
.top-container input.text {
    field-sizing: content;
    max-width: 15em;
    width: auto;
}

.top-container label {
    color: var(--gray-200);
    font-size: var(--font-100);
    padding-left: 0.5em;
    width: auto;
}

.top-container span.spacer-horizontal {
    margin-left: auto;
}

/* ─────────────────────────────────── */
/* ─────────────────────────────────── */
/* BLOCK: Top container */
/* ─────────────────────────────────── */
/* ─────────────────────────────────── */

.top-container {
    align-items: center;
    background-color: var(--blue-400);
    display: flex;
    flex: 0 0 auto;
    height: 3.5em;
    padding: 0 1em;
}

/* */
/* SECTION: Nav container */
/* */

.top-container .nav-container {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: 0.5em;
    width: 100%;
}

.top-container .nav-container > * {
    flex: 0 0 auto;
    min-width: 0;
}

.top-container .nav-container img.logo {
    background-color: var(--white);
    border-radius: 50%;
    height: 2.5em;
    object-fit: contain;
    width: 2.5em;
}

.top-container button.trigger[data-bind='maps.map_group_by_column']:is(:focus, :focus-within),
.top-container button.trigger[data-bind='maps.map_group_by_value']:is(:focus, :focus-within),
.top-container input.text[data-bind='maps.map_title']:is(:focus, :focus-within),
.top-container input.search:is(:focus, :focus-within) {
    background-color: var(--blue-400);
    border-color: var(--white);
    color: var(--white);
}

.top-container button.trigger[data-bind='maps.map_group_by_column']:is(:hover),
.top-container button.trigger[data-bind='maps.map_group_by_value']:is(:hover),
.top-container input.text[data-bind='maps.map_title']:is(:hover),
.top-container input.search:is(:hover) {
    background-color: var(--blue-100);
    border-color: var(--white);
    color: var(--blue-400);
}

.top-container input.text[data-bind='maps.map_title'] {
    font-size: var(--font-400);
    font-weight: var(--bold-400);
}

.top-container:has(input.search:placeholder-shown) button.square[data-action='search-results-cancel'] {
    display: none;
}

.top-container:has(input.search:not(:placeholder-shown)) button.square[data-action='search-results-cancel'] {
    display: flex;
}

.top-container .nav-container > span.material-symbols-outlined {
    color: var(--white);
    margin: 0 -0.25em;
}
