.category-strip {
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:4px 0 14px;
  scrollbar-width:none;
}
.category-strip::-webkit-scrollbar { display:none; }
.pill {
  flex:0 0 auto;
  min-height:38px;
  padding:0 18px;
  border-radius:var(--radius-pill);
  border:1px solid var(--line);
  display:inline-flex;
  align-items:center;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  background:#fff;
}
.pill.active {
  background:#000;
  color:#fff;
  border-color:#000;
}
.shop-layout {
  display:grid;
  grid-template-columns:244px minmax(0,1fr);
  gap:24px;
  align-items:start;
}
.sidebar {
  position:sticky;
  top:calc(var(--desktop-header) + 24px);
  border:1px solid var(--line);
  border-radius:20px;
  padding:20px;
  background:#fff;
}
.sidebar h3 {
  margin-bottom:18px;
  font-size:13px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.filter-group {
  padding:16px 0;
  border-top:1px solid rgba(0,0,0,.08);
}
.filter-group label {
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:8px 0;
  color:var(--muted);
  font-size:13px;
}
.mobile-filter-bar { display:none; }
.woocommerce-result-count { color:var(--muted);font-size:13px;line-height:1.5; }
.woocommerce-ordering select {
  min-height:42px;
  border:1px solid var(--line);
  border-radius:var(--radius-pill);
  background:#fff;
  padding:0 14px;
}
.woocommerce-pagination { margin-top:30px;text-align:center; }
.rp-theme .woocommerce-pagination ul {
  display:flex;
  justify-content:center;
  gap:8px;
  border:0;
  padding:0;
}
.rp-theme .woocommerce-pagination li {
  border:0;
}
.rp-theme .woocommerce-pagination a,
.rp-theme .woocommerce-pagination span {
  min-width:38px;
  min-height:38px;
  border:1px solid var(--line);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--muted);
}
.woocommerce-pagination .current {
  background:#000;
  color:#fff;
  border-color:#000;
}

@media (max-width:767px) {
  .category-strip {
    margin-left:-12px;
    margin-right:-12px;
    padding-left:12px;
    padding-right:12px;
  }
  .shop-layout { display:block; }
  .sidebar { display:none; }
  .mobile-filter-bar {
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin:6px 0 14px;
  }
  .mobile-filter-bar button,
  .mobile-filter-bar select {
    flex:1;
    min-height:42px;
    border:1px solid var(--line);
    border-radius:var(--radius-pill);
    background:#fff;
    padding:0 14px;
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
}


/* v0.6.0 shop alignment */
.shop-page-shell {
  display:block;
}
.shop-hero-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,420px);
  gap:28px;
  align-items:end;
  margin-bottom:18px;
}
.shop-hero-row h1 {
  margin:0;
  font-size:clamp(46px,7vw,86px);
  line-height:.88;
  letter-spacing:-.065em;
}
.shop-hero-row .muted {
  margin:0 0 8px;
}
.shop-main {
  min-width:0;
}
.shop-sidebar-card {
  align-self:start;
}
.shop-sidebar-card .woocommerce-ordering {
  margin:0;
}
.shop-sidebar-card .woocommerce-ordering select {
  width:100%;
}
.shop-sidebar-card .woocommerce-result-count {
  margin:0;
}
.rp-theme .products::before,
.rp-theme .products::after,
.rp-theme .woocommerce ul.products::before,
.rp-theme .woocommerce ul.products::after {
  display:none;
}
.woocommerce ul.products li.product .price {
  color:inherit;
}
@media (max-width:767px) {
  .shop-hero-row {
    display:block;
    margin-bottom:14px;
  }
  .shop-hero-row h1 {
    font-size:42px;
  }
}




/* v1.0 archive product grid final */
body.rp-theme.rp-shop-context .shop-layout {
  grid-template-columns:244px minmax(0,1fr);
  align-items:start;
  gap:24px;
}
body.rp-theme.rp-shop-context .shop-main {
  min-width:0;
}
body.rp-theme.rp-shop-context .shop-main ul.products,
body.rp-theme.rp-shop-context .shop-main .products {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
  margin:0;
  padding:0;
}
body.rp-theme.rp-shop-context .shop-main ul.products::before,
body.rp-theme.rp-shop-context .shop-main ul.products::after,
body.rp-theme.rp-shop-context .shop-main .products::before,
body.rp-theme.rp-shop-context .shop-main .products::after {
  display:none;
}
body.rp-theme.rp-shop-context .shop-main ul.products li.product,
body.rp-theme.rp-shop-context .shop-main .products li.product,
body.rp-theme.rp-shop-context .shop-main .product-card {
  width:auto;
  float:none;
  margin:0;
  align-self:stretch;
  display:grid;
  grid-template-rows:auto 1fr;
}
body.rp-theme.rp-shop-context .shop-main .product-card .product-img {
  aspect-ratio:1;
}
body.rp-theme.rp-shop-context .shop-main .product-card .product-info {
  display:grid;
  grid-template-rows:auto auto auto 1fr;
  align-content:start;
}
body.rp-theme.rp-shop-context .shop-main .product-card .product-name {
  min-height:38px;
  max-height:38px;
  overflow:hidden;
}
body.rp-theme.rp-shop-context .shop-main .product-card .quick-add {
  align-self:end;
}
body.rp-theme.rp-shop-context .woocommerce-pagination {
  margin:28px 0 0;
}
body.rp-theme.rp-shop-context .woocommerce-pagination ul.page-numbers {
  display:flex;
  justify-content:center;
  gap:8px;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
}
body.rp-theme.rp-shop-context .woocommerce-pagination ul.page-numbers li {
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  list-style:none;
}
body.rp-theme.rp-shop-context .woocommerce-pagination .page-numbers a,
body.rp-theme.rp-shop-context .woocommerce-pagination .page-numbers span {
  min-width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  background:transparent;
  display:grid;
  place-items:center;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
body.rp-theme.rp-shop-context .woocommerce-pagination .page-numbers .current {
  background:#000;
  color:#fff;
}
body.rp-theme.rp-shop-context .woocommerce-pagination .page-numbers a:hover {
  background:#f3f3f3;
  color:#000;
}
@media (max-width:767px) {
  body.rp-theme.rp-shop-context .shop-layout {
    display:block;
  }
  body.rp-theme.rp-shop-context .shop-main ul.products,
  body.rp-theme.rp-shop-context .shop-main .products {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
}


/* v1.0 scrollable / draggable category pills */
body.rp-theme.rp-shop-context .category-strip {
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  overflow-x:auto;
  overflow-y:hidden;
  max-width:100%;
  padding:0 0 8px;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  cursor:grab;
  user-select:none;
  -webkit-overflow-scrolling:touch;
}
body.rp-theme.rp-shop-context .category-strip.is-dragging {
  cursor:grabbing;
}
body.rp-theme.rp-shop-context .category-strip .pill {
  flex:0 0 auto;
  scroll-snap-align:start;
  white-space:nowrap;
}
body.rp-theme.rp-shop-context .category-strip::-webkit-scrollbar {
  height:6px;
}
body.rp-theme.rp-shop-context .category-strip::-webkit-scrollbar-thumb {
  background:rgba(0,0,0,.18);
  border-radius:999px;
}
body.rp-theme.rp-shop-context .category-strip::-webkit-scrollbar-track {
  background:transparent;
}


/* v1.0 mobile filters/order 50-50 */
@media (max-width:767px) {
  body.rp-theme.rp-shop-context .mobile-filter-bar {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:12px;
    align-items:stretch;
    width:100%;
    margin:18px 0 24px;
  }
  body.rp-theme.rp-shop-context .mobile-filter-bar > button,
  body.rp-theme.rp-shop-context .mobile-filter-bar .woocommerce-ordering,
  body.rp-theme.rp-shop-context .mobile-filter-bar .woocommerce-ordering select {
    width:100%;
    min-width:0;
    height:58px;
    min-height:58px;
    margin:0;
  }
  body.rp-theme.rp-shop-context .mobile-filter-bar > button,
  body.rp-theme.rp-shop-context .mobile-filter-bar .woocommerce-ordering select {
    border:1px solid var(--line);
    border-radius:22px;
    background:#fff;
    color:#000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 18px;
    font-size:12px;
    font-weight:900;
    letter-spacing:.15em;
    text-transform:uppercase;
    text-align:center;
  }
  body.rp-theme.rp-shop-context .mobile-filter-bar .woocommerce-ordering {
    display:block;
  }
  body.rp-theme.rp-shop-context .mobile-filter-bar .woocommerce-ordering select {
    appearance:auto;
    text-align-last:center;
  }
}




/* v1.0 mobile horizontal archive pager */
@media (max-width:767px) {
  body.rp-theme.rp-shop-context .shop-main[data-horizontal-page-swipe="1"] {
    touch-action:pan-y;
    overflow:hidden;
  }
  body.rp-theme.rp-shop-context .shop-main .products {
    transform:translateX(var(--archive-swipe-x, 0));
    transition:transform .16s ease, opacity .16s ease;
    will-change:transform;
  }
  body.rp-theme.rp-shop-context .shop-main .products.is-user-swiping {
    transition:none;
  }
  body.rp-theme.rp-shop-context .shop-main .products.is-slide-left {
    transform:translateX(-32px);
    opacity:.35;
  }
  body.rp-theme.rp-shop-context .shop-main .products.is-slide-right {
    transform:translateX(32px);
    opacity:.35;
  }
  body.rp-theme.rp-shop-context .shop-main .products.is-enter-right {
    animation:rpArchiveEnterRight .18s ease both;
  }
  body.rp-theme.rp-shop-context .shop-main .products.is-enter-left {
    animation:rpArchiveEnterLeft .18s ease both;
  }
  body.rp-theme.rp-shop-context .rp-horizontal-pager-status {
    min-height:38px;
    margin:22px 0 10px;
    color:var(--muted);
    display:grid;
    place-items:center;
    font-size:10px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
  }
  body.rp-theme.rp-shop-context .rp-horizontal-pager-status[data-mode="loading"]::before {
    content:"";
    width:18px;
    height:18px;
    border:2px solid rgba(0,0,0,.12);
    border-top-color:#000;
    border-radius:50%;
    animation:rpSpin .7s linear infinite;
    margin-right:8px;
  }
  body.rp-theme.rp-shop-context .rp-horizontal-pager-status[data-mode="loading"] {
    display:flex;
    justify-content:center;
    align-items:center;
  }
}
@keyframes rpArchiveEnterRight {
  from { transform:translateX(32px); opacity:.25; }
  to { transform:translateX(0); opacity:1; }
}
@keyframes rpArchiveEnterLeft {
  from { transform:translateX(-32px); opacity:.25; }
  to { transform:translateX(0); opacity:1; }
}


/* v1.0 products list horizontal swipe fix */
@media (max-width:767px) {
  body.rp-theme.rp-shop-context [data-horizontal-page-swipe-list="1"] {
    touch-action:pan-y;
    cursor:grab;
    transform:translateX(var(--archive-swipe-x, 0));
    transition:transform .16s ease, opacity .16s ease;
    will-change:transform;
  }
  body.rp-theme.rp-shop-context [data-horizontal-page-swipe-list="1"].is-user-swiping {
    cursor:grabbing;
    transition:none;
  }
  body.rp-theme.rp-shop-context [data-horizontal-page-swipe-list="1"] a,
  body.rp-theme.rp-shop-context [data-horizontal-page-swipe-list="1"] img {
    -webkit-user-drag:none;
    user-select:none;
  }
}


/* v1.0 immediate swipe and compact filters */
@media (max-width:767px) {
  body.rp-theme.rp-shop-context [data-horizontal-page-swipe-list="1"] {
    touch-action:pan-y;
  }
  body.rp-theme.rp-shop-context .mobile-filter-bar {
    margin:16px 0 22px;
  }
  body.rp-theme.rp-shop-context .mobile-filter-bar > button,
  body.rp-theme.rp-shop-context .mobile-filter-bar .woocommerce-ordering,
  body.rp-theme.rp-shop-context .mobile-filter-bar .woocommerce-ordering select {
    height:58px;
    min-height:58px;
  }
  body.rp-theme.rp-shop-context .mobile-filter-bar > button,
  body.rp-theme.rp-shop-context .mobile-filter-bar .woocommerce-ordering select {
    border-radius:22px;
  }
}
/* v1.0 mobile pagination cleanup */
@media (max-width:767px) {
  body.rp-theme.rp-shop-context .woocommerce-pagination {
    width:100%;
    max-width:100%;
    margin:26px 0 34px;
    overflow:hidden;
  }
  body.rp-theme.rp-shop-context .woocommerce-pagination ul.page-numbers,
  body.rp-theme.rp-shop-context .woocommerce-pagination .page-numbers {
    max-width:100%;
  }
  body.rp-theme.rp-shop-context .woocommerce-pagination ul.page-numbers {
    display:flex;
    justify-content:flex-start;
    align-items:center;
    gap:6px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 18px 8px;
    margin:0;
    border:0;
    white-space:nowrap;
    scrollbar-width:none;
  }
  body.rp-theme.rp-shop-context .woocommerce-pagination ul.page-numbers::-webkit-scrollbar {
    display:none;
  }
  body.rp-theme.rp-shop-context .woocommerce-pagination ul.page-numbers li {
    flex:0 0 auto;
    width:auto;
    padding:0;
    margin:0;
    border:0;
    background:transparent;
    list-style:none;
  }
  body.rp-theme.rp-shop-context .woocommerce-pagination .page-numbers a,
  body.rp-theme.rp-shop-context .woocommerce-pagination .page-numbers span {
    min-width:30px;
    width:30px;
    height:30px;
    border:1px solid var(--line);
    border-radius:50%;
    background:#fff;
    color:var(--muted);
    display:grid;
    place-items:center;
    font-size:11px;
    font-weight:900;
    line-height:1;
    text-decoration:none;
  }
  body.rp-theme.rp-shop-context .woocommerce-pagination .page-numbers .current {
    background:#000;
    color:#fff;
    border-color:#000;
  }
  body.rp-theme.rp-shop-context .woocommerce-pagination .page-numbers .next,
  body.rp-theme.rp-shop-context .woocommerce-pagination .page-numbers .prev {
    width:auto;
    min-width:34px;
    border-radius:999px;
    padding:0 10px;
  }
  body.rp-theme.rp-shop-context .mobile-filter-bar > button,
  body.rp-theme.rp-shop-context .mobile-filter-bar .woocommerce-ordering,
  body.rp-theme.rp-shop-context .mobile-filter-bar .woocommerce-ordering select {
    height:54px;
    min-height:54px;
  }
  body.rp-theme.rp-shop-context .mobile-filter-bar > button,
  body.rp-theme.rp-shop-context .mobile-filter-bar .woocommerce-ordering select {
    border-radius:20px;
  }
}
body.rp-theme.rp-shop-context .filter-panel .widget_product_categories,
body.rp-theme.rp-shop-context .filter-panel .widget_layered_nav,
body.rp-theme.rp-shop-context .filter-panel .widget_rating_filter,
body.rp-theme.rp-shop-context .filter-panel .widget_product_tag_cloud {
  display:none;
}


/* v1.0 mobile pagination cleanup */
@media (max-width:767px) {
  body.rp-theme.rp-shop-context .woocommerce-pagination {
    width:100%;
    max-width:100%;
    margin:26px 0 34px;
    overflow:hidden;
  }
  body.rp-theme.rp-shop-context .woocommerce-pagination ul.page-numbers {
    display:flex;
    justify-content:flex-start;
    align-items:center;
    gap:6px;
    overflow-x:auto;
    overflow-y:hidden;
    max-width:100%;
    padding:0 18px 8px;
    margin:0;
    border:0;
    white-space:nowrap;
    scrollbar-width:none;
  }
  body.rp-theme.rp-shop-context .woocommerce-pagination ul.page-numbers::-webkit-scrollbar {
    display:none;
  }
  body.rp-theme.rp-shop-context .woocommerce-pagination ul.page-numbers li {
    flex:0 0 auto;
    width:auto;
    padding:0;
    margin:0;
    border:0;
    background:transparent;
    list-style:none;
  }
  body.rp-theme.rp-shop-context .woocommerce-pagination .page-numbers a,
  body.rp-theme.rp-shop-context .woocommerce-pagination .page-numbers span {
    min-width:30px;
    width:30px;
    height:30px;
    border:1px solid var(--line);
    border-radius:50%;
    background:#fff;
    color:var(--muted);
    display:grid;
    place-items:center;
    font-size:11px;
    font-weight:900;
    line-height:1;
    text-decoration:none;
  }
  body.rp-theme.rp-shop-context .woocommerce-pagination .page-numbers .current {
    background:#000;
    color:#fff;
    border-color:#000;
  }
  body.rp-theme.rp-shop-context .woocommerce-pagination .page-numbers .next,
  body.rp-theme.rp-shop-context .woocommerce-pagination .page-numbers .prev {
    width:auto;
    min-width:34px;
    border-radius:999px;
    padding:0 10px;
  }
  body.rp-theme.rp-shop-context .mobile-filter-bar > button,
  body.rp-theme.rp-shop-context .mobile-filter-bar .woocommerce-ordering,
  body.rp-theme.rp-shop-context .mobile-filter-bar .woocommerce-ordering select {
    height:54px;
    min-height:54px;
  }
  body.rp-theme.rp-shop-context .mobile-filter-bar > button,
  body.rp-theme.rp-shop-context .mobile-filter-bar .woocommerce-ordering select {
    border-radius:20px;
  }
}
body.rp-theme.rp-shop-context .filter-panel .widget_product_categories,
body.rp-theme.rp-shop-context .filter-panel .widget_layered_nav,
body.rp-theme.rp-shop-context .filter-panel .widget_rating_filter,
body.rp-theme.rp-shop-context .filter-panel .widget_product_tag_cloud {
  display:none;
}


/* v1.0 mobile filter drawer only */
@media (max-width:767px) {
  body.rp-theme.rp-shop-context .shop-layout > .desktop-filter,
  body.rp-theme.rp-shop-context .filter-panel.desktop-filter,
  body.rp-theme.rp-shop-context aside[data-price-filter-source] {
    display:none;
  }

  body.rp-theme .drawer .mobile-price-filter-only {
    display:grid;
    gap:18px;
  }

  body.rp-theme .drawer .mobile-price-filter-only h4,
  body.rp-theme .drawer .mobile-price-filter-only .widget-title {
    margin:0;
    font-size:18px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  body.rp-theme .drawer .mobile-price-filter-only form,
  body.rp-theme .drawer .mobile-price-filter-only .price_slider_wrapper {
    display:grid;
    gap:16px;
  }

  body.rp-theme .drawer .mobile-price-filter-only .price_slider_amount {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    align-items:center;
  }

  body.rp-theme .drawer .mobile-price-filter-only .price_slider_amount .button {
    grid-column:1 / -1;
    width:100%;
    min-height:52px;
    border-radius:var(--radius-pill);
    background:#000;
    color:#fff;
  }

  body.rp-theme .drawer .mobile-price-filter-only input {
    width:100%;
    min-height:48px;
    border:1px solid var(--line);
    border-radius:14px;
    padding:0 12px;
  }
}


/* v1.0 filter drawer open fix */
@media (max-width:767px) {
  body.rp-theme.rp-shop-context .shop-layout > .desktop-filter,
  body.rp-theme.rp-shop-context .filter-panel.desktop-filter,
  body.rp-theme.rp-shop-context aside[data-price-filter-source] {
    display:none;
  }

  body.rp-theme .drawer.open,
  body.rp-theme #drawer.open {
    display:flex;
  }

  body.rp-theme .drawer .mobile-price-filter-only,
  body.rp-theme #drawer .mobile-price-filter-only {
    display:grid;
    gap:18px;
  }

  body.rp-theme .drawer .mobile-price-filter-only h4,
  body.rp-theme #drawer .mobile-price-filter-only h4,
  body.rp-theme .drawer .mobile-price-filter-only .widget-title,
  body.rp-theme #drawer .mobile-price-filter-only .widget-title {
    margin:0;
    font-size:18px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  body.rp-theme .drawer .mobile-price-filter-only form,
  body.rp-theme #drawer .mobile-price-filter-only form,
  body.rp-theme .drawer .mobile-price-filter-only .price_slider_wrapper,
  body.rp-theme #drawer .mobile-price-filter-only .price_slider_wrapper {
    display:grid;
    gap:16px;
  }

  body.rp-theme .drawer .mobile-price-filter-only .price_slider_amount,
  body.rp-theme #drawer .mobile-price-filter-only .price_slider_amount {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    align-items:center;
  }

  body.rp-theme .drawer .mobile-price-filter-only .price_slider_amount .button,
  body.rp-theme #drawer .mobile-price-filter-only .price_slider_amount .button {
    grid-column:1 / -1;
    width:100%;
    min-height:52px;
    border-radius:var(--radius-pill);
    background:#000;
    color:#fff;
  }

  body.rp-theme .drawer .mobile-price-filter-only input,
  body.rp-theme #drawer .mobile-price-filter-only input {
    width:100%;
    min-height:48px;
    border:1px solid var(--line);
    border-radius:14px;
    padding:0 12px;
  }
}


/* v1.0 desktop archive restore */
@media (min-width:768px) {
  body.rp-theme.rp-shop-context .shop-page-shell {
    width:100%;
    max-width:var(--container);
    margin:0 auto;
    padding-left:var(--page-pad);
    padding-right:var(--page-pad);
  }

  body.rp-theme.rp-shop-context .mobile-filter-bar,
  body.rp-theme.rp-shop-context .filter-toggle.mobile-only,
  body.rp-theme.rp-shop-context .mobile-filter-toggle,
  body.rp-theme.rp-shop-context [data-open-drawer="filters"].mobile-only {
    display:none;
  }

  body.rp-theme.rp-shop-context .shop-layout {
    width:100%;
    display:grid;
    grid-template-columns:244px minmax(0,1fr);
    gap:24px;
    align-items:start;
  }

  body.rp-theme.rp-shop-context .shop-layout > .desktop-filter,
  body.rp-theme.rp-shop-context .filter-panel.desktop-filter,
  body.rp-theme.rp-shop-context aside[data-price-filter-source] {
    display:block;
    grid-column:1;
    width:244px;
    min-width:244px;
    max-width:244px;
    align-self:start;
  }

  body.rp-theme.rp-shop-context .shop-main,
  body.rp-theme.rp-shop-context [data-archive-products-main] {
    grid-column:2;
    width:100%;
    min-width:0;
    max-width:100%;
  }

  body.rp-theme.rp-shop-context .shop-main .woocommerce-ordering,
  body.rp-theme.rp-shop-context [data-archive-products-main] .woocommerce-ordering {
    float:none;
    margin:0;
  }

  body.rp-theme.rp-shop-context .shop-main > .woocommerce-result-count,
  body.rp-theme.rp-shop-context [data-archive-products-main] > .woocommerce-result-count {
    float:none;
    margin:0;
  }

  body.rp-theme.rp-shop-context .shop-main ul.products,
  body.rp-theme.rp-shop-context .shop-main .products,
  body.rp-theme.rp-shop-context [data-archive-products-main] ul.products,
  body.rp-theme.rp-shop-context [data-archive-products-main] .products {
    width:100%;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    align-items:stretch;
    margin:0;
    padding:0;
    transform:none;
    opacity:1;
  }

  body.rp-theme.rp-shop-context .shop-main ul.products li.product,
  body.rp-theme.rp-shop-context .shop-main .products li.product,
  body.rp-theme.rp-shop-context .shop-main .product-card,
  body.rp-theme.rp-shop-context [data-archive-products-main] ul.products li.product,
  body.rp-theme.rp-shop-context [data-archive-products-main] .products li.product,
  body.rp-theme.rp-shop-context [data-archive-products-main] .product-card {
    width:auto;
    min-width:0;
    float:none;
    margin:0;
    display:grid;
    grid-template-rows:auto 1fr;
    align-self:stretch;
  }

  body.rp-theme.rp-shop-context .shop-main .product-card .product-img,
  body.rp-theme.rp-shop-context [data-archive-products-main] .product-card .product-img {
    aspect-ratio:1;
    min-height:0;
  }

  body.rp-theme.rp-shop-context .shop-main .product-card .product-info,
  body.rp-theme.rp-shop-context [data-archive-products-main] .product-card .product-info {
    display:grid;
    grid-template-rows:auto auto auto 1fr;
    align-content:start;
  }

  body.rp-theme.rp-shop-context .shop-main .product-card .quick-add,
  body.rp-theme.rp-shop-context [data-archive-products-main] .product-card .quick-add {
    align-self:end;
  }

  body.rp-theme.rp-shop-context .shop-main .woocommerce-pagination,
  body.rp-theme.rp-shop-context [data-archive-products-main] .woocommerce-pagination {
    width:100%;
    max-width:100%;
    overflow:visible;
  }
}

/* v1.0 shop-wide touch targets */
body.rp-theme.rp-shop-context :where(.category-strip .pill, .filter-group label, .mobile-filter-bar > button, .mobile-filter-bar select, .woocommerce-ordering select, .woocommerce-pagination a, .woocommerce-pagination span, .page-numbers a, .page-numbers span, .filter-panel a, .filter-panel button, .filter-panel input[type="submit"], .filter-panel .button) {
  min-width:48px;
  min-height:48px;
}
body.rp-theme.rp-shop-context :where(.category-strip .pill, .filter-group label, .mobile-filter-bar > button, .mobile-filter-bar select, .woocommerce-ordering select, .woocommerce-pagination a, .woocommerce-pagination span, .page-numbers a, .page-numbers span, .filter-panel a, .filter-panel button, .filter-panel input[type="submit"], .filter-panel .button) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
body.rp-theme.rp-shop-context :where(.category-strip, .woocommerce-pagination ul.page-numbers, .mobile-filter-bar) {
  gap:8px;
}
body.rp-theme.rp-shop-context .shop-main .product-card .quick-add,
body.rp-theme.rp-shop-context [data-archive-products-main] .product-card .quick-add {
  min-height:48px;
}
body.rp-theme.rp-shop-context .shop-main .product-card .like-btn,
body.rp-theme.rp-shop-context [data-archive-products-main] .product-card .like-btn {
  width:48px;
  height:48px;
}
@media (max-width:767px) {
  body.rp-theme.rp-shop-context .woocommerce-pagination ul.page-numbers {
    gap:8px;
  }
  body.rp-theme.rp-shop-context .woocommerce-pagination .page-numbers a,
  body.rp-theme.rp-shop-context .woocommerce-pagination .page-numbers span {
    min-width:48px;
    min-height:48px;
    height:48px;
  }
}


/* v1.0.1 product search/archive sizing fix */
body.rp-theme.rp-shop-context .shop-layout > .shop-sidebar-card {
  display:none;
}
body.rp-theme.rp-shop-context .shop-layout > .desktop-filter,
body.rp-theme.rp-shop-context .filter-panel.desktop-filter,
body.rp-theme.rp-shop-context aside[data-price-filter-source] {
  grid-column:1;
  grid-row:1;
}
body.rp-theme.rp-shop-context .shop-main,
body.rp-theme.rp-shop-context [data-archive-products-main] {
  grid-column:2;
  grid-row:1;
  min-width:0;
  width:100%;
}
body.rp-theme.rp-shop-context .shop-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 16px;
  width:100%;
}
body.rp-theme.rp-shop-context .shop-toolbar .woocommerce-result-count,
body.rp-theme.rp-shop-context .shop-toolbar .woocommerce-ordering {
  float:none;
  margin:0;
}
body.rp-theme.rp-shop-context .shop-toolbar .woocommerce-ordering select {
  width:auto;
  min-width:220px;
}
body.rp-theme.rp-shop-context .shop-main ul.products,
body.rp-theme.rp-shop-context .shop-main .products,
body.rp-theme.rp-shop-context [data-archive-products-main] ul.products,
body.rp-theme.rp-shop-context [data-archive-products-main] .products {
  width:100%;
  grid-template-columns:repeat(var(--desktop-shop-cols), minmax(0,1fr));
}
@media (max-width:767px) {
  body.rp-theme.rp-shop-context .shop-main,
  body.rp-theme.rp-shop-context [data-archive-products-main] {
    grid-column:auto;
    grid-row:auto;
    width:100%;
  }
  body.rp-theme.rp-shop-context .shop-toolbar {
    display:none;
  }
  body.rp-theme.rp-shop-context .shop-main ul.products,
  body.rp-theme.rp-shop-context .shop-main .products,
  body.rp-theme.rp-shop-context [data-archive-products-main] ul.products,
  body.rp-theme.rp-shop-context [data-archive-products-main] .products {
    grid-template-columns:repeat(var(--mobile-shop-cols), minmax(0,1fr));
  }
}


/* v1.0.2 product-search archive hard lock */
body.rp-theme.rp-shop-context.search-results main.site-main,
body.rp-theme.rp-shop-context.search-no-results main.site-main {
  width:100%;
  max-width:var(--container);
}
body.rp-theme.rp-shop-context.search-results .shop-page-shell,
body.rp-theme.rp-shop-context.search-no-results .shop-page-shell,
body.rp-theme.rp-shop-context.search-results .shop-layout,
body.rp-theme.rp-shop-context.search-no-results .shop-layout {
  width:100%;
  max-width:100%;
}
@media (min-width:768px) {
  body.rp-theme.rp-shop-context.search-results .shop-layout,
  body.rp-theme.rp-shop-context.search-no-results .shop-layout {
    display:grid;
    grid-template-columns:minmax(180px,244px) minmax(0,1fr);
  }
}
@media (max-width:767px) {
  body.rp-theme.rp-shop-context.search-results .shop-page-shell,
  body.rp-theme.rp-shop-context.search-no-results .shop-page-shell {
    overflow:hidden;
  }
}
