/* Archive presentation shares the approved Store tokens and product-card component. */
.bs-archive { border-bottom: 1px solid var(--line); }
.bs-archive .bs-archive-hero { padding-block: 2rem clamp(2rem, 4vw, 3.5rem); background: var(--soft); }
.bs-archive .bs-archive-breadcrumb { padding-bottom: 1.25rem; margin-bottom: 2rem; border-bottom: 1px solid var(--line); font-size: .8125rem; line-height: 1.6; }
.bs-archive-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem 0; list-style: none; margin: 0; padding: 0; }
.bs-archive-breadcrumb li { display: flex; align-items: center; min-width: 0; color: var(--muted); }
.bs-archive-breadcrumb li + li::before { content: ""; flex: 0 0 auto; width: .375rem; height: .375rem; border-top: 1px solid var(--muted); border-right: 1px solid var(--muted); transform: rotate(45deg); margin-inline: .875rem 1rem; }
.bs-archive-breadcrumb a { display: inline-flex; align-items: center; min-height: 2rem; color: var(--muted); text-decoration: none; }
.bs-archive-breadcrumb a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: .25em; }
.bs-archive-breadcrumb a:focus-visible { outline: .125rem solid var(--text); outline-offset: .25rem; }
.bs-archive-breadcrumb li:last-child { color: var(--text); font-weight: 600; }
@media (max-width: 48rem) {
    .bs-archive .bs-archive-breadcrumb { margin-bottom: 1.5rem; padding-bottom: 1rem; }
    .bs-archive-breadcrumb li:last-child { flex-basis: 100%; padding-top: .25rem; font-size: .75rem; font-weight: 500; }
    .bs-archive-breadcrumb li:last-child::before { display: none; }
}
.bs-archive-hero__layout { display: grid; grid-template-columns: 1.15fr 1fr; gap: 3rem; align-items: center; }
.bs-archive h1 { font-size: clamp(2rem, 3.5vw, 3.25rem); max-width: none; overflow-wrap: anywhere; }
.bs-archive .bs-archive-hero__layout p { font-size: 1rem; margin-top: 1rem; max-width: 39rem; }
.bs-archive-search { min-width: 0; }
.bs-archive .bs-archive-catalog { padding-block: 0 4rem; }
.bs-archive-platforms { display: flex; flex-wrap: wrap; align-items: stretch; gap: .5rem 1.5rem; border-bottom: 1px solid var(--line); padding-top: 1rem; }
.bs-archive-platforms a { display: inline-flex; align-items: center; gap: .625rem; padding: 1rem .25rem; border-bottom: .1875rem solid transparent; font-size: .9375rem; font-weight: 600; }
.bs-archive-platforms img { width: 1.75rem; height: 1.75rem; object-fit: contain; }
.bs-archive-platforms a[aria-current] { border-bottom-color: var(--wp--preset--color--link); }
.bs-archive-platforms a:hover { background: var(--soft); border-bottom-color: var(--wp--preset--color--link); }
.bs-archive-toolbar { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; padding-block: 1.75rem; }
.bs-archive .woocommerce-result-count { font-size: .875rem; color: var(--muted); float: none; margin: 0; }
.bs-archive .bs-archive-grid { align-items: stretch; }
.bs-archive .bs-store-card { display: flex; flex-direction: column; }
.bs-archive .bs-store-card__link { flex: 1; }
.bs-archive .bs-store-card__price { margin-top: auto; padding-top: 1rem; font-size: .9375rem; }
.bs-archive .bs-store-card__purchase { padding: 0 1.375rem 1.375rem; }
.bs-archive .bs-store-card__purchase .button { display: block; text-align: center; border-radius: 0; background: var(--wp--preset--color--link); color: var(--wp--preset--color--base); font-size: .875rem; padding: .75rem; }
.bs-archive-search-summary { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; align-items: center; padding-top: 1.5rem; font-size: .875rem; }
.bs-archive-pagination { margin-top: 2.5rem; }
.bs-archive .woocommerce-pagination ul.page-numbers { display: flex; justify-content: center; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 0; border: none; list-style: none; }
.bs-archive .woocommerce-pagination ul.page-numbers li { border: 0; float: none; margin: 0; }
.bs-archive .woocommerce-pagination ul.page-numbers li a, .bs-archive .woocommerce-pagination ul.page-numbers li span { display: grid; place-items: center; min-width: 2.75rem; min-height: 2.75rem; padding: .5rem; border: 1px solid var(--line); font-size: .875rem; line-height: 1; color: var(--text); background: var(--bg); }
.bs-archive .woocommerce-pagination ul.page-numbers li .current { color: var(--wp--preset--color--base); background: var(--wp--preset--color--link); border-color: var(--wp--preset--color--link); font-weight: 700; }
.bs-archive .woocommerce-pagination ul.page-numbers li a:hover { border-color: var(--wp--preset--color--link); background: var(--soft); }
.bs-archive .bs-archive-empty { padding: 4rem 1rem; text-align: center; }
.bs-archive .bs-archive-empty p { max-width: 32rem; margin: 1rem auto 1.75rem; color: var(--muted); font-size: 1rem; }
@media (max-width: 64rem) { .bs-archive-hero__layout { gap: 1.5rem; } }
@media (max-width: 48rem) { .bs-archive-hero__layout { grid-template-columns: 1fr; } .bs-archive-platforms { gap: 0 .75rem; } .bs-archive-platforms a { font-size: .8125rem; } .bs-archive-platforms img { width: 1.375rem; height: 1.375rem; } }
@media (max-width: 30rem) { .bs-archive-platforms { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .25rem .75rem; } .bs-archive-platforms a { justify-content: center; } }
