.button{min-height:50px;padding:0 22px;border:1px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;transition:transform .25s var(--ease),background .25s,color .25s}
.button:hover{transform:translateY(-2px);background:var(--wood-dark);border-color:var(--wood-dark)}
.button--light{background:transparent;color:var(--ink)}
.button--light:hover{background:var(--ink);color:#fff}
.button--white{background:#fff;color:var(--ink);border-color:#fff}
.button--white:hover{background:var(--lime);border-color:var(--lime)}
.button--full{width:100%}
.icon-button{border:0;background:transparent;min-width:42px;min-height:42px;display:grid;place-items:center;position:relative}
.icon-button svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.65;fill:none}
.count{position:absolute;right:1px;top:0;background:var(--wood);color:#fff;min-width:16px;height:16px;border-radius:50%;font-size:9px;display:grid;place-items:center}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,32px)}
.product-card{position:relative;min-width:0}
.product-card__media{display:block;aspect-ratio:4/5;background:#eae6dd;position:relative;overflow:hidden}
.product-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),opacity .45s var(--ease)}
.product-card__media--contain img{object-fit:contain;padding:clamp(16px,2vw,28px);background:#f2eee5}
.product-card__media img+img{position:absolute;inset:0;opacity:0}
.product-card:hover .product-card__media img:first-child{transform:scale(1.045)}
.product-card:hover .product-card__media img+img{opacity:1}
.product-card__badge{position:absolute;top:12px;left:12px;background:#f9f8f4;padding:6px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.product-card__wish{position:absolute;right:5px;top:5px;background:#f8f7f2;opacity:0;transition:opacity .25s}
.product-card:hover .product-card__wish{opacity:1}
.product-card__info{padding:13px 0 0}
.product-card__title{font-size:15px;line-height:1.25;font-weight:600;margin-bottom:5px;display:block}
.product-card__desc{font-size:13px;color:var(--ink-soft);margin-bottom:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-card__bottom{display:flex;justify-content:space-between;align-items:center;gap:8px}
.price{font-weight:700;font-size:14px}
.price s{color:var(--ink-soft);font-weight:400;margin-left:6px}
.swatches{display:flex;gap:5px}
.swatch{width:13px;height:13px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}
.category-tile{position:relative;overflow:hidden;display:block;min-height:420px;color:#fff}
.category-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.category-tile::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,8,7,.6))}
.category-tile:hover img{transform:scale(1.05)}
.category-tile__caption{position:absolute;left:24px;right:22px;bottom:22px;z-index:1;display:flex;align-items:flex-end;justify-content:space-between}
.category-tile h3{font-size:clamp(28px,2.6vw,43px)}
.category-tile__caption span{font-size:22px}
.field{display:grid;gap:7px;margin-bottom:15px}
.field label,.field__label{font-size:12px;font-weight:700}
.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#fffefa;min-height:49px;padding:12px 13px;outline:none;border-radius:0}
.field textarea{min-height:100px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ink);box-shadow:0 0 0 2px rgba(29,30,28,.12)}
.accordion{border-top:1px solid var(--line)}
.accordion__item{border-bottom:1px solid var(--line)}
.accordion__button{width:100%;background:none;border:0;display:flex;justify-content:space-between;text-align:left;padding:20px 0;font-weight:700}
.accordion__button span:last-child{font-size:22px;font-weight:400}
.accordion__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease);color:var(--ink-soft)}
.accordion__panel>div{overflow:hidden}
.accordion__item.is-open .accordion__panel{grid-template-rows:1fr}
.accordion__panel p{padding:0 0 20px}
.toast{position:fixed;right:24px;bottom:24px;z-index:1005;background:var(--ink);color:#fff;padding:15px 20px;display:flex;gap:12px;align-items:center;transform:translateY(130%);transition:transform .4s var(--ease);box-shadow:var(--shadow);font-size:14px}
.toast.is-visible{transform:none}
.toast::before{content:'✓';width:20px;height:20px;display:grid;place-items:center;background:var(--lime);color:var(--ink);border-radius:50%}
.trust-line{display:flex;flex-wrap:wrap;gap:17px 25px;font-size:12px;font-weight:600}
.trust-line span{display:flex;gap:7px;align-items:center}
.trust-line span::before{content:'✓';color:var(--wood);font-size:15px}
.empty-state{text-align:center;padding:80px 20px}
.empty-state p{margin:12px auto 25px;max-width:400px;color:var(--ink-soft)}
.modal{position:fixed;z-index:1002;inset:0;visibility:hidden;display:grid;place-items:center;padding:20px}
.modal.is-open{visibility:visible}
.modal__backdrop{position:absolute;inset:0;background:rgba(20,20,18,.5);opacity:0;transition:opacity .3s}
.modal.is-open .modal__backdrop{opacity:1}
.modal__box{position:relative;background:var(--surface);width:min(100%,760px);max-height:min(90vh,820px);overflow:auto;padding:30px;transform:translateY(15px);opacity:0;transition:.35s var(--ease)}
.modal.is-open .modal__box{transform:none;opacity:1}
.modal__close{position:absolute;top:12px;right:12px}
