/* ============ КОШНИЦА (споделен drawer), меден стил ============ */
.cart-backdrop{
  position:fixed;inset:0;background:rgba(58,36,16,.45);
  backdrop-filter:blur(4px);
  opacity:0;pointer-events:none;z-index:90;
  transition:opacity .35s ease;
}
.cart-backdrop.is-open{opacity:1;pointer-events:auto}

.cart-drawer{
  position:fixed;top:0;right:0;bottom:0;
  width:min(480px,100vw);
  background:var(--cream);
  z-index:100;
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .45s cubic-bezier(.4,.1,.1,1);
  box-shadow:-30px 0 70px -20px rgba(58,36,16,.4);
  font-family:var(--body);color:var(--ink);
}
.cart-drawer.is-open{transform:translateX(0)}

.cart-drawer__head{
  display:flex;align-items:flex-start;justify-content:space-between;
  padding:28px 30px 24px;
  border-bottom:2px dashed var(--line);
  background:var(--cream);
}
.cart-drawer__title{
  font-family:var(--display);font-weight:900;font-size:34px;line-height:1;color:var(--ink);
}
.cart-drawer__title em{font-style:normal;color:var(--gold-deep)}
.cart-drawer__count{
  font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.04em;
  color:var(--ink-2);margin-top:8px;display:block;
}
.cart-drawer__close{
  width:48px;height:48px;border-radius:50%;
  border:0;background:var(--white);box-shadow:var(--shadow-sm);
  display:grid;place-items:center;cursor:pointer;flex-shrink:0;
  transition:background .2s,color .2s,transform .2s;
}
.cart-drawer__close:hover{background:var(--gold);color:var(--brown-900);transform:rotate(90deg)}
.cart-drawer__close svg{width:15px;height:15px}

.cart-drawer__body{flex:1;overflow-y:auto;padding:6px 30px}

.cart-line{
  display:grid;grid-template-columns:92px 1fr;gap:20px;
  padding:24px 0;
  border-bottom:1px solid var(--line-2);
}
.cart-line:last-child{border-bottom:none}
.cart-line__thumb{
  width:92px;aspect-ratio:1/1;border-radius:20px;overflow:hidden;
  background:var(--cream-3);position:relative;
}
.cart-line__thumb img{width:100%;height:100%;object-fit:cover}
.cart-line__thumb .w{
  position:absolute;left:7px;top:7px;
  min-width:38px;height:30px;padding:0 8px;border-radius:999px;
  background:var(--white);box-shadow:var(--shadow-sm);
  display:grid;place-items:center;
  font-family:var(--display);font-size:13px;font-weight:800;color:var(--ink);
}
.cart-line__body{display:flex;flex-direction:column;gap:5px}
.cart-line__name{font-family:var(--display);font-weight:800;font-size:21px;line-height:1.15;color:var(--ink)}
.cart-line__meta{
  font-family:var(--body);font-weight:700;font-size:14px;color:var(--ink-3);
}
.cart-line__foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:12px}
.cart-line__price{font-family:var(--display);font-weight:800;font-size:17px;color:var(--ink);white-space:nowrap}
.cart-qty{
  display:inline-flex;align-items:center;
  background:var(--white);border:1px solid var(--line-2);border-radius:999px;
  overflow:hidden;height:42px;box-shadow:var(--shadow-sm);
}
.cart-qty button{
  width:40px;height:40px;background:transparent;border:0;cursor:pointer;
  color:var(--ink);font-size:18px;font-weight:700;line-height:1;
  transition:background .15s,color .15s;
}
.cart-qty button:hover{background:var(--gold);color:var(--brown-900)}
.cart-qty .v{min-width:30px;text-align:center;font-family:var(--display);font-size:16px;font-weight:800}
.cart-line__rm{
  background:transparent;border:0;cursor:pointer;padding:0;
  font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.04em;
  color:var(--ink-3);transition:color .15s;margin-top:8px;align-self:flex-start;
}
.cart-line__rm:hover{color:#b34433}

.cart-drawer__empty{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:64px 32px;color:var(--ink-2);gap:18px;
}
.cart-drawer__empty .seal{
  width:104px;height:104px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,var(--gold),var(--gold-deep));
  display:grid;place-items:center;box-shadow:0 16px 30px -12px rgba(238,157,0,.7);
}
.cart-drawer__empty .seal img{width:46px;height:46px;filter:brightness(0) saturate(100%) invert(13%) sepia(28%) saturate(1800%) hue-rotate(2deg) brightness(95%)}
.cart-drawer__empty h3{font-family:var(--display);font-weight:900;font-size:30px;color:var(--ink)}
.cart-drawer__empty p{font-size:17px;line-height:1.6;max-width:280px;font-weight:600}
.cart-drawer__empty .btn-shop{
  margin-top:8px;display:inline-flex;align-items:center;gap:10px;
  padding:16px 26px;border-radius:999px;
  background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:var(--brown-900);
  font-family:var(--display);font-size:17px;font-weight:700;
  box-shadow:0 14px 26px -12px rgba(238,157,0,.7);
}

.cart-drawer__foot{
  border-top:2px dashed var(--line);
  padding:24px 30px 28px;
  background:var(--cream-2);
  display:flex;flex-direction:column;gap:13px;
}
.cart-line-row{
  display:flex;align-items:baseline;justify-content:space-between;
  font-family:var(--display);font-weight:600;font-size:17px;color:var(--ink-2);
}
.cart-line-row .v{color:var(--ink);font-weight:700}
.cart-total{
  display:flex;align-items:baseline;justify-content:space-between;
  padding-top:16px;border-top:1px solid var(--line);margin-top:4px;
}
.cart-total__label{font-family:var(--display);font-weight:800;font-size:20px;color:var(--ink)}
.cart-total__v{font-family:var(--display);font-weight:900;font-size:27px;line-height:1;color:var(--ink);white-space:nowrap}
.cart-total__v small{font-family:var(--body);font-size:15px;font-weight:700;color:var(--ink-3);margin-left:8px;vertical-align:middle}

.cart-cta{
  display:flex;align-items:center;justify-content:center;gap:14px;
  width:100%;padding:20px 24px;border-radius:999px;
  background:var(--brown-900);color:var(--cream);
  font-family:var(--display);font-size:18px;font-weight:700;
  margin-top:8px;border:0;cursor:pointer;
  box-shadow:0 16px 32px -16px rgba(58,36,16,.7);
  transition:background .2s,transform .2s;
}
.cart-cta:hover{background:var(--brown-800);transform:translateY(-2px)}
.cart-cta .arr{transition:transform .2s}
.cart-cta:hover .arr{transform:translateX(4px)}

.cart-shipping-note{
  font-family:var(--body);font-weight:700;font-size:14px;
  color:var(--ink-3);text-align:center;margin-top:2px;
}

.nav .cart .count[data-count="0"]{opacity:.7}

@media (max-width:520px){
  .cart-drawer{width:100vw}
  .cart-drawer__head,.cart-drawer__body,.cart-drawer__foot{padding-left:20px;padding-right:20px}
}
