/* ============================================================
   SHOP 필터 줄 · 전체 셀러 보기 버튼 (2026-07-30 신규)

   왜 별도 파일인가
     필터 줄 규칙은 shop-final.min.css 에 !important 로 박혀 있다.
     기존 규칙을 고치지 않고 «맨 마지막에 로드» 되는 이 파일에서만 덧댄다.
     (shop-card-premium.css 와 동일한 오버라이드 전략)

   레이아웃
     PC/태블릿 : [필터 3개] ......... [전체 셀러 보기]   (한 줄, 우측 끝)
     모바일    : [필터 3개]
                 [전체 셀러 보기 (100%)]
   ★ .v2live-filter-buttons «내부» 는 건드리지 않는다 — 그 안의 가로 스크롤/폭/간격
     정책(모바일 포함)이 그대로 유지되어야 기존 필터 동작이 안 깨진다.
   ============================================================ */

/* 래퍼 — 필터 줄과 셀러 버튼을 한 행에 놓는다.
   구분선(shop-live.css:227 .v2live-filter-buttons border-bottom)은 래퍼로 옮긴다.
   그대로 두면 폭이 내용폭(511px)으로 줄어 «중간에서 끊긴 선» 이 보인다(실측). */
.v2live-filter-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    background: #fff;
    border-bottom: 1px solid var(--line, #e8e8e5);
}
.v2live-filter-row > .v2live-filter-buttons {
    border-bottom: 0;
}

/* 필터 줄은 내용 폭만 차지 → 남는 공간이 셀러 버튼 몫이 된다.
   (기본 규칙이 width:100%!important 라 여기서만 되돌린다) */
.v2live-filter-row > .v2live-filter-buttons {
    width: auto !important;
    flex: 0 1 auto;
    min-width: 0;
}

/* 버튼 — 필터와 같은 높이·라운드·테두리색, 단 채움색으로 구분되는 «버튼» 형태 */
.v2-filter-seller {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 0 0 auto;
    min-height: 40px;
    margin: 0 14px 0 auto;          /* 우측 끝 정렬 + 본문 좌우여백(14px)에 맞춤 */
    padding: 0 15px;
    border: 1px solid #dedede;
    border-radius: 10px;
    background: #fff;
    color: #222;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease,
                transform .18s ease, box-shadow .18s ease;
}
.v2-filter-seller__i {
    flex: none;
    width: 15px;
    height: 15px;
    transition: transform .18s ease;
}
.v2-filter-seller:focus-visible {
    outline: 2px solid #111;
    outline-offset: 2px;
}
.v2-filter-seller:active { transform: scale(.97); }

@media (hover: hover) and (pointer: fine) {
    .v2-filter-seller:hover {
        border-color: #111;
        background: #111;
        color: #fff;
        box-shadow: 0 7px 18px rgba(0, 0, 0, .18);
    }
    .v2-filter-seller:hover .v2-filter-seller__i { transform: translateX(2px); }
}

/* 태블릿 이상 — 필터와 동일 규격(높이 44 / 폰트 14), 여백은 필터 줄 padding 과 동일 */
@media (min-width: 1024px) {
    .v2-filter-seller {
        min-height: 44px;
        padding: 0 18px;
        font-size: 14px;
        margin-right: 28px;
    }
    .v2-filter-seller__i { width: 16px; height: 16px; }
}

/* 모바일 — 별도 한 줄, 가로 100%. 필터 3개 줄은 그대로 둔다.
   (필터 줄의 기본 규칙 max-width:600px 분기와 같은 경계값을 쓴다) */
@media (max-width: 600px) {
    .v2-filter-seller {
        /* basis 를 100% 로 두면 좌우 margin(28px)이 «더해져» 화면 밖으로 나간다.
           calc 로 여백을 basis 에서 빼야 실제 폭이 화면 안에 들어온다(실측 확인). */
        flex: 1 0 calc(100% - 28px);
        min-height: 44px;
        margin: 0 14px 10px;
        padding: 0 14px;
        font-size: 13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .v2-filter-seller, .v2-filter-seller__i { transition: none; }
}
