.cart-trigger{
  position:absolute;
  inset-block-start:var(--spacing-0);
  inset-inline-end:var(--spacing-0);
}
.cart-trigger .badge{
  display:flex;
  position:absolute;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  border-radius:var(--radius-button);
  background-color:var(--color-primary);
  color:var(--color-on-primary);
  font:var(--font-body-sm);
  inset-block-end:-25%;
  inset-inline-end:-25%;
}
.cart-trigger .badge[data-pulse=true]{
  transform:scale(1);
  animation:pulse 1.5s infinite;
  box-shadow:0 0 0 0 var(--color-primary);
}

@keyframes pulse{
  0%{
    transform:scale(0.95);
    box-shadow:0 0 0 0 color-mix(in oklch, var(--color-primary) 70%, transparent);
  }
  70%{
    transform:scale(1);
    box-shadow:0 0 0 10px color-mix(in oklch, var(--color-primary) 0%, transparent);
  }
  100%{
    transform:scale(0.95);
    box-shadow:0 0 0 0 color-mix(in oklch, var(--color-primary) 0%, transparent);
  }
}
#cart{
  --drawer-min-height:455px;
}
#cart [ui-slot=drawer-body]{
  display:flex;
  flex-direction:column;
  gap:var(--spacing-24);
}
#cart [ui-slot=drawer-body] .notes{
  --per-page:1;
  --gap:var(--spacing-8);
  display:flex;
  flex-direction:column;
  gap:var(--spacing-8);
}
#cart [ui-slot=drawer-body] .notes:not(:has(.note-item)){
  display:none;
}
#cart [ui-slot=drawer-body] .notes .group{
  padding-block-end:3px;
  padding-inline-end:3px;
}
#cart [ui-slot=drawer-body] .notes .group .note-item{
  display:flex;
  flex-direction:column;
  padding:var(--spacing-12);
  border:1px solid var(--color-primary);
  border-radius:var(--radius-section);
  background-color:var(--color-primary-container);
  box-shadow:3px 3px 0 var(--color-primary);
  text-align:start;
  gap:var(--spacing-4);
}
#cart [ui-slot=drawer-body] .notes .group .note-item .title{
  font:var(--font-title-md);
}
#cart [ui-slot=drawer-body] .notes .group .note-item .description{
  opacity:0.8;
}
#cart [ui-slot=drawer-body] .notes .markers{
  display:flex;
  justify-content:center;
}
#cart [ui-slot=drawer-body] .notes .markers [ui-carousel=marker]{
  display:flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  transition:var(--transition-standard-default-spatial);
  border:none;
  background-color:transparent;
  color:var(--color-primary);
  cursor:pointer;
}
#cart [ui-slot=drawer-body] .notes .markers [ui-carousel=marker]::before{
  content:"";
  display:flex;
  width:var(--spacing-8);
  height:var(--spacing-8);
  transition:var(--transition-standard-default-spatial);
  border-radius:var(--radius-button);
  background-color:color-mix(in srgb, currentcolor 38%, transparent);
}
#cart [ui-slot=drawer-body] .notes .markers [ui-carousel=marker][aria-selected=true]{
  width:36px;
}
#cart [ui-slot=drawer-body] .notes .markers [ui-carousel=marker][aria-selected=true]::before{
  width:var(--spacing-24);
  background-color:currentcolor;
}
#cart [ui-slot=drawer-body] .recommendation{
  --per-page:1;
  --item-size:85%;
  --gap:var(--spacing-8);
  display:flex;
  flex-direction:column;
  gap:var(--spacing-12);
}
#cart [ui-slot=drawer-body] .recommendation .head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--spacing-12);
}
#cart [ui-slot=drawer-body] .recommendation .head .title{
  font:var(--font-title-md);
}
#cart [ui-slot=drawer-body] .recommendation .head .arrows{
  display:flex;
  gap:var(--spacing-8);
}
#cart [ui-slot=drawer-body] .recommendation .group{
  padding-block-end:3px;
  padding-inline-end:3px;
}
#cart [ui-slot=drawer-body] .recommendation .group .product-item{
  display:flex;
  align-items:center;
  padding:var(--spacing-12);
  transition:var(--transition-standard-fast-spatial);
  transition-property:transform, box-shadow;
  border:1px solid var(--color-primary);
  border-radius:var(--radius-section);
  box-shadow:3px 3px 0 var(--color-primary);
  gap:var(--spacing-12);
}
#cart [ui-slot=drawer-body] .recommendation .group .product-item .media{
  position:relative;
  width:65px;
  height:auto;
  overflow:hidden;
  aspect-ratio:1/1;
}
#cart [ui-slot=drawer-body] .recommendation .group .product-item .media > img{
  -o-object-fit:cover;
     object-fit:cover;
}
#cart [ui-slot=drawer-body] .recommendation .group .product-item .info{
  display:flex;
  flex:1;
  flex-direction:column;
  text-align:start;
  gap:var(--spacing-8);
}
#cart [ui-slot=drawer-body] .recommendation .group .product-item .info .price{
  display:flex;
  gap:var(--spacing-4);
}
#cart [ui-slot=drawer-body] .recommendation .group .product-item .info .price .compare-at{
  opacity:0.5;
  -webkit-text-decoration:line-through;
  text-decoration:line-through;
}
#cart [ui-slot=drawer-body] .recommendation .group .product-item:hover{
  transform:translate(2px, 2px);
  box-shadow:1.5px 1.5px 0 var(--color-primary);
}
#cart [ui-slot=drawer-body] .list{
  display:grid;
  grid-gap:var(--spacing-12);
  gap:var(--spacing-12);
}
#cart [ui-slot=drawer-body] .list:not(:has(.product-item)){
  display:none;
}
#cart [ui-slot=drawer-body] .list .product-item{
  display:flex;
  padding:var(--spacing-12);
  border:1px solid var(--color-primary);
  border-radius:var(--radius-section);
  box-shadow:3px 3px 0 var(--color-primary);
  gap:var(--spacing-12);
}
#cart [ui-slot=drawer-body] .list .product-item .media{
  flex-shrink:0;
  width:150px;
  height:auto;
  overflow:hidden;
  aspect-ratio:1/1;
}
#cart [ui-slot=drawer-body] .list .product-item .media > img{
  -o-object-fit:cover;
     object-fit:cover;
}
#cart [ui-slot=drawer-body] .list .product-item .content{
  display:flex;
  flex:1;
  flex-direction:column;
  justify-content:space-between;
  gap:var(--spacing-12);
}
#cart [ui-slot=drawer-body] .list .product-item .content .info{
  display:grid;
  grid-gap:var(--spacing-8);
  gap:var(--spacing-8);
  text-align:start;
}
#cart [ui-slot=drawer-body] .list .product-item .content .info .name{
  overflow:hidden;
  font:var(--font-title-sm);
  text-overflow:ellipsis;
  white-space:nowrap;
}
#cart [ui-slot=drawer-body] .list .product-item .content .info .price{
  display:flex;
  gap:var(--spacing-4);
}
#cart [ui-slot=drawer-body] .list .product-item .content .info .price .compare-at{
  opacity:0.5;
  -webkit-text-decoration:line-through;
  text-decoration:line-through;
}
#cart [ui-slot=drawer-body] .list .product-item .content .info .variants{
  display:flex;
  flex-wrap:wrap;
  gap:var(--spacing-8);
}
#cart [ui-slot=drawer-body] .list .product-item .content .info .variants span{
  padding:var(--spacing-2) var(--spacing-4);
  border:1px solid var(--color-primary);
  background-color:var(--color-primary-container);
  font:var(--font-body-sm);
}
#cart [ui-slot=drawer-body] .list .product-item .content .actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
#cart [ui-slot=drawer-body] .bundle-group{
  display:flex;
  flex-direction:column;
  border:1px solid var(--color-primary);
  border-radius:var(--radius-section);
  box-shadow:3px 3px 0 var(--color-primary);
}
#cart [ui-slot=drawer-body] .bundle-group .head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--spacing-12);
  padding:var(--spacing-12);
  border-block-end:1px solid var(--color-primary);
  background-color:var(--color-surface-container);
}
#cart [ui-slot=drawer-body] .bundle-group .head .title{
  font:var(--font-title-md);
}
#cart [ui-slot=drawer-body] .bundle-group .list{
  padding:var(--spacing-12);
}
#cart [ui-slot=drawer-body] .bundle-group .list .product-item{
  padding:var(--spacing-0);
  border:none;
  box-shadow:none;
}
#cart [ui-slot=drawer-body] ui-empty{
  flex:1;
}
#cart [ui-slot=drawer-footer]{
  padding-block-start:var(--spacing-0);
}
#cart [ui-slot=drawer-footer] .summary{
  overflow:hidden;
  border:1px solid var(--color-primary);
  border-radius:var(--radius-section);
  box-shadow:3px 3px 0 var(--color-primary);
}
#cart [ui-slot=drawer-footer] .summary .header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:var(--spacing-8) var(--spacing-12);
  background-color:var(--color-surface-container);
  color:var(--color-primary);
  border-block-end:1px solid var(--color-primary);
}
#cart [ui-slot=drawer-footer] .summary .header .title{
  font:var(--font-title-md);
}
#cart [ui-slot=drawer-footer] .summary .core{
  display:grid;
  padding:var(--spacing-12);
  grid-gap:var(--spacing-12);
  gap:var(--spacing-12);
}
#cart [ui-slot=drawer-footer] .summary .core .field{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-block-end:var(--spacing-12);
  border-block-end:1px dashed var(--color-primary);
}
#cart [ui-slot=drawer-footer] .summary .core .field .label{
  opacity:0.8;
}
#cart [ui-slot=drawer-footer] .summary .core .field .count{
  font:var(--font-title-lg);
}
#cart [ui-slot=drawer-footer] .summary .core .events{
  display:grid;
  grid-gap:var(--spacing-8);
  gap:var(--spacing-8);
  grid-template-columns:repeat(2, 1fr);
}
@media (max-width: 769px){
  #cart [ui-slot=drawer-body] .list .product-item .media{
    width:120px;
  }
}
