:root{
  --bow-accent: #0a7cff;
  --bow-badge: #111827;
  --bow-price: #111827;
}
.bow-archive-wrap{max-width:1120px;margin:0 auto;padding:8px;}
.bow-toolbar{position:sticky;top:0;background:#fff;z-index:10;padding:8px 4px;border-bottom:1px solid #eee;}
.bow-searchbar{display:flex;gap:8px;align-items:center}
.bow-searchbar input[type="search"]{flex:1;padding:10px 12px;border:1px solid #e5e7eb;border-radius:12px;font-size:16px}
.bow-searchbar .bow-filter-btn,.bow-submit{padding:10px 14px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;cursor:pointer}
.bow-searchbar .bow-sort{padding:10px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.bow-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px;margin-top:10px}
@media(min-width:769px){.bow-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.bow-card{background:#fff;border:1px solid #eee;border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.05);display:flex;flex-direction:column}
.bow-thumb-viewport{position:relative;display:block;width:100%;aspect-ratio:480/680;overflow:hidden;background:#f8fafc}
.bow-thumb-viewport img{width:100%;height:100%;object-fit:cover;display:block}
.bow-badge{position:absolute;top:.5rem;left:.5rem;background:var(--bow-badge);color:#fff;padding:.25rem .5rem;border-radius:.5rem;font-size:12px}
.bow-fav{position:absolute;top:.5rem;right:.5rem;background:#fff;border:none;border-radius:999px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(0,0,0,.2);cursor:pointer}
.bow-fav .heart{font-size:16px;opacity:.6}
.bow-fav .heart.active,.bow-fav[aria-pressed="true"] .heart{opacity:1}
.bow-price{position:absolute;right:.5rem;bottom:.5rem;background:var(--bow-price);color:#fff;padding:.3rem .5rem;border-radius:.5rem;font-weight:600}
.bow-price-original{opacity:.7;text-decoration:line-through;margin-left:.4rem}
.bow-details{padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.bow-title{font-size:14px;margin:0;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bow-meta{display:flex;gap:8px;font-size:12px;color:#6b7280}
.bow-wa{margin-top:6px;display:inline-flex;align-items:center;gap:6px;background:var(--bow-accent);color:#fff;text-decoration:none;padding:10px 12px;border-radius:10px;font-weight:600}
.bow-loadmore-wrap{display:flex;justify-content:center;margin:14px 0}
.bow-loadmore{padding:12px 16px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;cursor:pointer}
/* Modal */
.bow-filter-modal[hidden]{display:none}
.bow-filter-modal{position:fixed;inset:0;background:rgba(0,0,0,.3);display:flex;align-items:flex-end}
.bow-filter-sheet{background:#fff;width:100%;max-height:80vh;border-top-left-radius:16px;border-top-right-radius:16px;padding:14px;overflow:auto}
.bow-filter-group{margin-bottom:12px}
.bow-filter-group label{display:block;font-weight:600;margin-bottom:6px}
.bow-price-inputs{display:flex;gap:8px}
.bow-price-inputs input{flex:1;padding:10px;border:1px solid #e5e7eb;border-radius:10px}
.bow-filter-actions{display:flex;justify-content:space-between;gap:10px}
.bow-filter-actions .bow-clear,.bow-filter-actions .bow-apply{flex:1;padding:12px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;cursor:pointer}
.bow-empty{padding:24px;text-align:center;color:#6b7280}
