/**
 * pages/search.css
 * 検索結果ページ専用スタイル。
 * 接頭辞: .p-search
 */

.p-search__header {
    padding-block: var(--space-5);
}

.p-search__title {
    font-size: var(--fs-h1);
    line-height: var(--lh-h1);
    margin-bottom: var(--space-3);
}

.p-search__count {
    font-size: var(--fs-small);
    color: var(--color-text-sub);
}

/* 選択中の絞り込み条件 */
.p-search__selected {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-top: var(--space-4);
}

/* 絞り込みパネル */
.p-search__filter {
    background-color: var(--color-surface-alt);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--space-4);
    margin-bottom: var(--space-6);
}

.p-search__filter-group {
    margin-bottom: var(--space-4);
}

.p-search__filter-group:last-of-type {
    margin-bottom: var(--space-5);
}

.p-search__filter-legend {
    font-size: var(--fs-small);
    font-weight: var(--fw-bold);
    margin-bottom: var(--space-2);
}

.p-search__filter-options {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.p-search__filter-checkbox {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.p-search__filter-label {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding-inline: var(--space-3);
    border-radius: var(--radius-full);
    font-size: var(--fs-small);
    background-color: var(--color-surface);
    color: var(--color-text-sub);
    border: var(--border-width) solid var(--color-border);
    cursor: pointer;
}

.p-search__filter-checkbox:checked + .p-search__filter-label {
    background-color: var(--color-primary-light);
    color: var(--color-primary);
    border-color: var(--color-primary);
}

.p-search__filter-checkbox:focus-visible + .p-search__filter-label {
    outline: 2px solid var(--color-focus);
    outline-offset: 2px;
}

/* ソート */
.p-search__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-5);
}

.p-search__sort {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--fs-small);
}

.p-search__sort-select {
    height: 44px;
    padding-inline: var(--space-3);
    border: var(--border-width) solid var(--color-border-strong);
    border-radius: var(--radius-sm);
    font-size: var(--fs-body);
    background-color: var(--color-bg);
}

/* 0件時の代替導線 */
.p-search__empty-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    justify-content: center;
}

.p-search__empty-links--tags {
    margin-top: var(--space-4);
}
