.storefront-search {
  position: relative;
  display: flex;
  min-width: min(100%, 20rem);
  align-items: center;
}
.storefront-search svg { position:absolute; left:.85rem; width:1rem; height:1rem; color:#64748b; pointer-events:none; }
.storefront-search input {
  width:100%; min-height:2.7rem; border:1px solid #cbd5e1; border-radius:.8rem; background:#fff;
  color:#0f172a; padding:.6rem .9rem .6rem 2.45rem; font-size:.82rem; font-weight:600;
}
.storefront-search input::placeholder { color:#94a3b8; }
.storefront-search input:focus-visible { outline:3px solid rgb(37 99 235 / 22%); border-color:#2563eb; }
.catalog-pagination-shell { display:flex; justify-content:center; margin-top:2rem; scroll-margin-top:6rem; }
.catalog-pagination { display:flex; max-width:100%; align-items:center; justify-content:center; gap:.45rem; }
.catalog-pagination-pages { display:flex; max-width:100%; align-items:center; gap:.35rem; }
.catalog-pagination-button {
  display:inline-flex; min-width:2.5rem; min-height:2.5rem; align-items:center; justify-content:center;
  border:1px solid #cbd5e1; border-radius:.7rem; background:#fff; color:#334155; padding:.45rem .7rem;
  font-size:.78rem; font-weight:800; transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .15s ease;
}
.catalog-pagination-button:hover:not(:disabled) { transform:translateY(-1px); border-color:#2563eb; color:#1d4ed8; }
.catalog-pagination-button.is-current { border-color:#2563eb; background:#2563eb; color:#fff; cursor:default; }
.catalog-pagination-button:disabled:not(.is-current) { opacity:.45; cursor:not-allowed; }
.catalog-pagination-button:focus-visible { outline:3px solid rgb(37 99 235 / 25%); outline-offset:2px; }
.catalog-pagination-ellipsis { display:inline-flex; min-width:1.5rem; align-items:center; justify-content:center; color:#64748b; font-weight:800; }
@media (max-width:639px) {
  .catalog-pagination { width:100%; flex-wrap:wrap; }
  .catalog-pagination-pages { order:3; width:100%; justify-content:center; overflow-x:auto; padding:.25rem 0; }
  .catalog-pagination-button.is-direction { flex:1; max-width:9rem; }
}
@media (prefers-reduced-motion:reduce) { .catalog-pagination-button { transition:none; } }
