.ws-bike-picker {
    border: 1px solid #e8edf4;
    border-radius: 16px;
    background: linear-gradient(180deg, #fcfdff 0%, #f8fafc 100%);
    padding: 1rem;
}
.ws-bike-picker.is-disabled {
    opacity: .55;
    pointer-events: none;
}
.ws-bike-picker.is-invalid {
    border-color: #f5c2c7;
    box-shadow: 0 0 0 3px rgba(254, 58, 58, .08);
}
.ws-bike-picker__error {
    margin-bottom: .75rem;
    padding: .6rem .75rem;
    border-radius: 10px;
    background: #fff5f5;
    border: 1px solid #f5c2c7;
    color: #c92a2a;
    font-size: .8rem;
    font-weight: 700;
}
.ws-bike-picker__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
    margin-bottom: .85rem;
    padding: .65rem .8rem;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #edf1f6;
}
.ws-bike-picker__summary-text {
    display: flex;
    align-items: center;
    gap: .45rem;
    font-size: .84rem;
    font-weight: 700;
    color: #1f2a44;
}
.ws-bike-picker__summary-text i {
    color: #fe3a3a;
}
.ws-bike-picker__summary-count {
    font-size: .76rem;
    font-weight: 600;
    color: #6c7f96;
}
.ws-bike-picker__brands {
    display: flex;
    gap: .45rem;
    overflow-x: auto;
    padding-bottom: .35rem;
    margin-bottom: .85rem;
    scrollbar-width: thin;
}
.ws-bike-picker__brand {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .45rem .85rem;
    border-radius: 999px;
    border: 1px solid #dbe3ef;
    background: #fff;
    color: #1f2a44;
    font-size: .8rem;
    font-weight: 700;
    cursor: pointer;
    transition: all .15s ease;
}
.ws-bike-picker__brand:hover {
    border-color: #fe3a3a;
    color: #fe3a3a;
}
.ws-bike-picker__brand.is-active {
    border-color: #fe3a3a;
    background: rgba(254, 58, 58, .08);
    color: #c92a2a;
    box-shadow: 0 4px 14px rgba(254, 58, 58, .12);
}
.ws-bike-picker__brand.is-partial {
    border-color: #f5c2c7;
    background: #fff8f8;
}
.ws-bike-picker__brand.is-full {
    border-color: #a7f3d0;
    background: #ecfdf5;
    color: #047857;
}
.ws-bike-picker__brand-count {
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 .35rem;
    border-radius: 999px;
    background: #eef2f7;
    color: #64748b;
    font-size: .68rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.ws-bike-picker__brand.is-active .ws-bike-picker__brand-count,
.ws-bike-picker__brand.is-partial .ws-bike-picker__brand-count {
    background: rgba(254, 58, 58, .12);
    color: #c92a2a;
}
.ws-bike-picker__brand.is-full .ws-bike-picker__brand-count {
    background: #d1fae5;
    color: #047857;
}
.ws-bike-picker__panel {
    border-radius: 14px;
    border: 1px solid #edf1f6;
    background: #fff;
    padding: .85rem;
}
.ws-bike-picker__panel.is-empty {
    text-align: center;
    color: #6c7f96;
    font-size: .84rem;
    padding: 1.5rem .85rem;
}
.ws-bike-picker__panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    flex-wrap: wrap;
    margin-bottom: .75rem;
}
.ws-bike-picker__panel-title {
    margin: 0;
    font-size: .9rem;
    font-weight: 800;
    color: #1f2a44;
}
.ws-bike-picker__panel-actions {
    display: flex;
    gap: .35rem;
    flex-wrap: wrap;
}
.ws-bike-picker__action-btn {
    border: 0;
    background: #f1f5f9;
    color: #334155;
    border-radius: 999px;
    padding: .3rem .7rem;
    font-size: .74rem;
    font-weight: 700;
    cursor: pointer;
    transition: background-color .15s ease;
}
.ws-bike-picker__action-btn:hover {
    background: #e2e8f0;
}
.ws-bike-picker__action-btn--primary {
    background: rgba(254, 58, 58, .1);
    color: #c92a2a;
}
.ws-bike-picker__action-btn--primary:hover {
    background: rgba(254, 58, 58, .16);
}
.ws-bike-picker__search {
    width: 100%;
    margin-bottom: .75rem;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    padding: .5rem .75rem;
    font-size: .82rem;
}
.ws-bike-picker__models {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
    gap: .5rem;
    max-height: 240px;
    overflow-y: auto;
    padding-inline-end: .15rem;
}
.ws-bike-picker__model {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-height: 42px;
    padding: .45rem .6rem;
    border-radius: 12px;
    border: 1px solid #e8edf4;
    background: #f8fafc;
    cursor: pointer;
    user-select: none;
    transition: all .15s ease;
}
.ws-bike-picker__model:hover {
    border-color: #f5c2c7;
    background: #fff;
}
.ws-bike-picker__model.is-selected {
    border-color: #fe3a3a;
    background: rgba(254, 58, 58, .06);
    box-shadow: 0 4px 12px rgba(254, 58, 58, .08);
}
.ws-bike-picker__model input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.ws-bike-picker__model-icon {
    width: 24px;
    height: 24px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #edf1f6;
    color: #94a3b8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: .72rem;
}
.ws-bike-picker__model.is-selected .ws-bike-picker__model-icon {
    background: #fe3a3a;
    border-color: #fe3a3a;
    color: #fff;
}
.ws-bike-picker__model-label {
    font-size: .78rem;
    font-weight: 700;
    color: #1f2a44;
    line-height: 1.35;
}
.ws-bike-picker__empty-models {
    grid-column: 1 / -1;
    text-align: center;
    color: #94a3b8;
    font-size: .8rem;
    padding: .75rem;
}
.ws-bike-picker__inputs {
    display: none;
}
