/* Shop page */
.shop-cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.shop-cats button{height:38px;padding:0 18px;border-radius:999px;border:1px solid rgba(42,16,59,.16);background:#fff;color:var(--royal,#2a103b);font:600 11px/1 var(--font-body,'Manrope',sans-serif);letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.shop-cats button.is-active{background:var(--royal,#2a103b);color:#fff;border-color:var(--royal,#2a103b)}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;margin-top:34px}
.shop-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(42,16,59,.1);border-radius:22px;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.shop-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(42,16,59,.45)}
.shop-card.in-basket{border-color:var(--gold,#cfad76);box-shadow:0 0 0 2px rgba(207,173,118,.35)}
.shop-card[hidden]{display:none}
.shop-img{position:relative;aspect-ratio:1/1;background:var(--ivory,#faf7f4);overflow:hidden}
.shop-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.shop-card:hover .shop-img img{transform:scale(1.04)}
.shop-badge{position:absolute;top:14px;left:14px;padding:7px 12px;border-radius:999px;background:var(--night,#180c24);color:#fff;font:600 10px/1 var(--font-body,'Manrope',sans-serif);letter-spacing:.18em;text-transform:uppercase}
.shop-card.is-out .shop-img img{filter:grayscale(.6);opacity:.7}
.shop-body{display:flex;flex-direction:column;gap:8px;padding:18px 18px 18px;flex:1}
.shop-cat{font:600 10px/1 var(--font-body,'Manrope',sans-serif);letter-spacing:.2em;text-transform:uppercase;color:var(--gold,#b8935a)}
.shop-body h3{margin:0;font:500 22px/1.15 'Cormorant Garamond',serif;color:var(--royal,#2a103b)}
.shop-body p{margin:0;font-size:13.5px;line-height:1.55;color:var(--muted,#6c6271)}
.shop-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px}
.shop-foot b{font-size:18px;color:var(--purple,#612179)}
.shop-qty{display:flex;align-items:center;gap:2px;border:1px solid rgba(42,16,59,.16);border-radius:999px;padding:3px}
.shop-qty button{width:34px;height:34px;border-radius:50%;border:0;background:transparent;color:var(--royal,#2a103b);font-size:18px;cursor:pointer}
.shop-qty button:hover{background:var(--ivory,#faf7f4)}
.shop-qty [data-shop-plus]{background:var(--royal,#2a103b);color:#fff}
.shop-qty [data-shop-plus]:hover{background:var(--purple,#612179)}
.shop-qty span{min-width:24px;text-align:center;font-weight:700}
.shop-summary{margin-top:26px;background:#fff;border:1px solid rgba(42,16,59,.12);border-radius:20px;padding:18px 20px}
.shop-summary ul{list-style:none;margin:0;padding:0}
.shop-summary li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed rgba(42,16,59,.14);font-size:15px}
.shop-summary li button{width:28px;height:28px;border-radius:50%;border:1px solid rgba(42,16,59,.16);background:transparent;cursor:pointer;color:var(--muted,#6c6271)}
.shop-total{display:flex;justify-content:space-between;padding-top:12px;font-size:17px}
.shop-total b{color:var(--purple,#612179)}
.shop-note,.shop-empty{margin:10px 0 0;font-size:13px;color:var(--muted,#6c6271)}
.shop-empty{margin:0}
.shop-summary.shake{animation:shop-shake .5s}
@keyframes shop-shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.shop-bar{position:fixed;left:50%;bottom:24px;z-index:95;transform:translateX(-50%);display:flex;align-items:center;gap:18px;padding:12px 14px 12px 22px;border-radius:999px;background:var(--night,#180c24);color:#fff;text-decoration:none;box-shadow:0 20px 44px -18px rgba(24,12,36,.7);font-size:14px}
.shop-bar b{background:var(--gold,#cfad76);color:var(--night,#180c24);padding:10px 16px;border-radius:999px;font:700 11px/1 var(--font-body,'Manrope',sans-serif);letter-spacing:.16em;text-transform:uppercase}
.shop-bar[hidden]{display:none}
@media (max-width:900px){.shop-bar{bottom:78px}}
@media (max-width:560px){.shop-grid{grid-template-columns:1fr 1fr;gap:12px}.shop-body{padding:12px}.shop-body h3{font-size:18px}.shop-body p{display:none}.shop-foot{flex-direction:column;align-items:flex-start}}
