.swk{--swk-primary:#8b0000;--swk-bg:#f5f5f5;--swk-text:#1f2937;--swk-muted:#6b7280;--swk-beige:#ece9e2}
.swk,.swk *{box-sizing:border-box}
.swk{background:var(--swk-bg);padding:56px 24px 72px;margin-top:0!important;margin-bottom:0!important;scroll-margin-top:90px}
.swk--full{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
.swk__inner{max-width:1100px;margin:0 auto}

.swk__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}
.swk .swk__title{margin:0;padding:0;font-family:'Playfair Display',Georgia,serif;font-weight:700;color:#1f2a44;font-size:clamp(1.8rem,3.5vw,2.4rem);line-height:1.2}
.swk__controls{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex:1;min-width:260px}
.swk__pills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.swk .swk__pill{background:#fff;color:var(--swk-text);border:1px solid #e5e7eb;border-radius:999px;padding:6px 16px;font-size:.78rem;font-weight:500;line-height:1.4;cursor:pointer;transition:.2s}
.swk .swk__pill:hover{border-color:var(--swk-primary);color:var(--swk-primary);background:#fff}
.swk .swk__pill.is-active{background:var(--swk-primary);border-color:var(--swk-primary);color:#fff}
.swk__search{position:relative;display:block;width:100%;max-width:320px}
.swk__search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}
.swk .swk__search input{width:100%;margin:0;padding:9px 14px 9px 36px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;font-size:.85rem;color:var(--swk-text);box-shadow:none}
.swk .swk__search input:focus{outline:2px solid var(--swk-primary);outline-offset:1px;border-color:transparent}

.swk__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.swk__card{display:flex;flex-direction:column;gap:10px;background:#fff;border-radius:12px;padding:12px;box-shadow:0 1px 3px rgba(0,0,0,.07)}
.swk__card[hidden]{display:none}
.swk__top{display:flex;align-items:center;justify-content:space-between;min-height:26px}
.swk__badge{display:inline-block;background:var(--swk-primary);color:#fff;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:3px;line-height:1.4}
.swk .swk__fav{background:none;border:0;padding:4px;margin:0;line-height:0;cursor:pointer;color:#4b5563;transition:color .2s,transform .2s}
.swk .swk__fav:hover{color:var(--swk-primary);background:none;transform:scale(1.1)}
.swk__fav.is-fav{color:var(--swk-primary)}
.swk__fav.is-fav svg{fill:var(--swk-primary)}
.swk__media{aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:#e5e7eb;cursor:pointer}
.swk__img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.swk__card:hover .swk__img{transform:scale(1.04)}
.swk .swk__name{margin:2px 0 0;padding:0 0 8px;border-bottom:1px solid #e5e7eb;font-size:.95rem;font-weight:700;line-height:1.35;color:var(--swk-text);min-height:calc(1.35em * 2 + 8px);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.swk__price{font-weight:700;font-size:1rem;color:var(--swk-primary)}
.swk__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}

.swk .swk__btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:999px;padding:9px 12px;font-size:.8rem;font-weight:600;line-height:1.2;cursor:pointer;transition:filter .2s,transform .2s;white-space:nowrap}
.swk .swk__btn--ghost{background:var(--swk-beige);color:var(--swk-text)}
.swk .swk__btn--primary{background:var(--swk-primary);color:#fff}
.swk .swk__btn:hover{filter:brightness(.94);transform:translateY(-1px)}
.swk .swk__btn--primary:hover{color:#fff;background:var(--swk-primary)}

.swk__empty{text-align:center;color:var(--swk-muted);padding:48px 0;margin:0}
.swk__empty[hidden],.swk__more[hidden]{display:none}
.swk__morewrap{display:flex;justify-content:center;margin-top:32px}
.swk .swk__more{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--swk-text);border:1px solid #e5e7eb;border-radius:8px;padding:10px 36px;font-size:.9rem;font-weight:500;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.swk .swk__more:hover{border-color:var(--swk-primary);color:var(--swk-primary);background:#fff}


@media (max-width:782px){
  .swk{padding:40px 14px 56px}
  .swk__controls{align-items:stretch;min-width:100%}
  .swk__pills{justify-content:flex-start}
  .swk__search{max-width:none}
  .swk__grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .swk__card{padding:10px}
  .swk .swk__btn{padding:8px 6px;font-size:.74rem}
}
@media (max-width:360px){.swk__grid{grid-template-columns:1fr}}

/* Tombol "Lihat Lainnya": benar-benar tersembunyi jika produk <= per_page; hover/fokus tetap merah */
.swk .swk__more[hidden],.swk .swk__empty[hidden],.swk .swk__card[hidden]{display:none!important}
.swk .swk__more:focus,.swk .swk__more:active{border-color:var(--swk-primary);color:var(--swk-primary);background:#fff}

/* Kartu = link ke halaman detail */
.swk__media{position:relative;display:block}
.swk .swk__name a{color:inherit;text-decoration:none;box-shadow:none}
.swk .swk__name a:hover{color:var(--swk-primary)}
.swk a.swk__btn{text-decoration:none;box-shadow:none}
.swk a.swk__btn--primary,.swk a.swk__btn--primary:hover,.swk a.swk__btn--primary:focus{color:#fff;background:var(--swk-primary)}
.swk a.swk__btn--ghost,.swk a.swk__btn--ghost:hover{color:var(--swk-text)}
.swk .swk__btn--off{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}
.swk .swk__btn--off:hover{filter:none;transform:none}
.swk__soldout{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(31,41,55,.85);color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 16px;border-radius:999px}
.swk__card.is-out .swk__img{filter:grayscale(1);opacity:.55}
