.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:var(--radius-sm);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;font-weight:500;transition:var(--transition)}
.btn svg{width:18px;height:18px;flex:none}
.btn--dark{background:var(--color-dark);color:#fff}.btn--dark:hover{background:#000}
.btn--gold{background:var(--color-accent);color:var(--color-text)}.btn--gold:hover{background:#cdb57c}
.btn--ghost{border:1px solid currentColor}.btn--ghost:hover{background:rgba(0,0,0,.05)}
.link-btn{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;padding:8px 0;white-space:nowrap}
.link-btn:hover{color:var(--color-accent-ink)}
.search{position:relative;max-width:340px;margin:var(--space-4) 0 var(--space-3)}
.search svg{position:absolute;left:16px;top:50%;translate:0 -50%;width:16px;color:var(--color-muted)}
.search input{width:100%;height:48px;padding:0 20px 0 42px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);font:inherit;font-size:var(--fs-sm)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--space-5)}
.chip{min-height:36px;padding:0 16px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);transition:var(--transition)}
.chip:hover{color:var(--color-text)}.chip.is-active{background:var(--color-dark);border-color:var(--color-dark);color:#fff}
.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(min-width:768px){.product-grid{grid-template-columns:repeat(3,1fr);gap:20px}}
@media(min-width:1024px){.product-grid{gap:24px}}
.product-card__media{position:relative;border-radius:var(--radius-md);overflow:hidden;background:#f3ead9;aspect-ratio:1}
.product-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.product-card:hover img{transform:scale(1.04)}
.badge{position:absolute;top:12px;right:12px;padding:2px 10px;border-radius:999px;background:var(--color-accent);font-size:9px;letter-spacing:.14em;font-weight:600}
.product-card__body{padding-top:12px}
.product-card__body .eyebrow{font-size:9px}
.product-card__name{font-size:19px;margin:4px 0}
.product-card__row{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--color-muted)}
.empty{grid-column:1/-1;color:var(--color-muted);padding:var(--space-5) 0}
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:rgba(28,22,16,.6);overflow:auto}
.modal[hidden]{display:none}
.modal__box{position:relative;display:grid;width:min(100%,860px);max-height:calc(100dvh - 32px);overflow:auto;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}
.modal__box.is-compact{width:min(100%,520px)}
.modal__close{position:absolute;top:12px;right:12px;z-index:2;width:36px;height:36px;border-radius:50%;background:rgba(250,248,244,.9);font-size:22px;line-height:1}
.modal__media{background:#f3ead9}
.modal__img{width:100%;aspect-ratio:1;object-fit:cover}
.thumbs{display:flex;gap:8px;padding:12px}
.thumb{width:52px;height:52px;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;opacity:.7}
.thumb.is-active{opacity:1;border-color:var(--color-accent-ink)}
.thumb img{width:100%;height:100%;object-fit:cover}
.modal__info{padding:24px;display:flex;flex-direction:column;gap:12px}
.modal__info h2{font-size:30px}.modal__price{font:500 20px var(--font-heading);color:var(--color-accent-ink)}
.label{font:500 10px var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--color-muted);margin-top:4px}
.pills{display:flex;flex-wrap:wrap;gap:8px}.pills li{padding:2px 12px;border:1px solid var(--color-border);border-radius:999px;font-size:var(--fs-sm)}
.note{font-size:12px;font-style:italic;color:var(--color-muted)}
@media(min-width:720px){.modal__box:not(.is-compact){grid-template-columns:1fr 1fr}.modal__info{padding:40px 32px}}
.wa-float{position:fixed;right:16px;bottom:16px;z-index:60;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--color-accent);color:var(--color-dark);box-shadow:var(--shadow-card);transition:var(--transition)}
.wa-float:hover{transform:scale(1.06)}.wa-float svg{width:26px;height:26px}
