@layer components {
    .palette {
        width: min(92vw, 40rem);
        padding: var(--space-4);
    }

    .palette input[type="search"] {
        width: 100%;
        min-height: var(--touch-target);
        padding: var(--space-2) var(--space-3);
        border: 1px solid var(--line);
        border-radius: var(--radius-m);
    }

    .palette ul {
        display: grid;
        gap: var(--space-1);
        margin-block-start: var(--space-3);
    }

    .palette a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: var(--touch-target);
        padding-inline: var(--space-3);
        border-radius: var(--radius-m);
        text-decoration: none;
        color: var(--soil);
    }

    .palette a:hover,
    .palette a:focus-visible {
        background: var(--sky-tint);
    }

    .palette a::after {
        content: attr(data-result-type);
        font-family: var(--font-data);
        font-size: var(--size-micro);
        color: var(--fog);
    }

    .palette-empty {
        color: var(--fog);
        padding: var(--space-3);
    }

    .filter-rail {
        display: grid;
        gap: var(--space-3);
        padding: var(--space-4);
        border: 1px solid var(--line);
        border-radius: var(--radius-l);
        background: var(--haze);
    }

    .filter-rail .field {
        max-width: none;
    }

    .filter-rail-actions {
        display: flex;
        gap: var(--space-2);
        flex-wrap: wrap;
    }

    @media (min-width: 1024px) {
        .catalog-layout {
            display: grid;
            grid-template-columns: 280px 1fr;
            gap: var(--space-6);
            align-items: start;
        }
    }
}
