/* PGP v124 independent favorite hearts — heart only, no circular frame */
:root{
  --pgp-heart-active:#ee154e;
  --pgp-heart-size:38px;
  --pgp-heart-icon-size:27px 27px;
}
html body :is(.heart,.heart-btn,.pgp-heart,.fav-btn,#favBtn,.remove-btn).pgp-final-heart,
html body :is(.heart,.heart-btn,.pgp-heart,.fav-btn,#favBtn){
  position:absolute!important;
  width:var(--pgp-heart-size)!important;
  height:var(--pgp-heart-size)!important;
  min-width:var(--pgp-heart-size)!important;
  min-height:var(--pgp-heart-size)!important;
  max-width:var(--pgp-heart-size)!important;
  max-height:var(--pgp-heart-size)!important;
  aspect-ratio:1/1!important;
  box-sizing:border-box!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  -webkit-border-radius:0!important;
  clip-path:none!important;
  background-color:transparent!important;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M20.84%204.61a5.5%205.5%200%200%200-7.78%200L12%205.67l-1.06-1.06a5.5%205.5%200%200%200-7.78%207.78L12%2021.23l8.84-8.84a5.5%205.5%200%200%200%200-7.78Z%22%20stroke%3D%22%23ee154e%22%20stroke-width%3D%222.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:var(--pgp-heart-icon-size)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  text-indent:-9999px!important;
  display:block!important;
  cursor:pointer!important;
  z-index:90!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  isolation:isolate!important;
  -webkit-tap-highlight-color:transparent!important;
  touch-action:manipulation!important;
  transform:none!important;
  transition:transform .14s ease, opacity .14s ease, filter .14s ease!important;
}
html body :is(.heart,.heart-btn,.pgp-heart){right:10px!important;bottom:10px!important;left:auto!important;top:auto!important;}
html body :is(.fav-btn,#favBtn){right:12px!important;bottom:12px!important;left:auto!important;top:auto!important;}
html body :is(.heart,.heart-btn,.pgp-heart,.fav-btn,#favBtn)::before,
html body :is(.heart,.heart-btn,.pgp-heart,.fav-btn,#favBtn)::after{
  content:none!important;display:none!important;visibility:hidden!important;opacity:0!important;
}
html body :is(.heart,.heart-btn,.pgp-heart,.fav-btn,#favBtn) > *{
  display:none!important;visibility:hidden!important;opacity:0!important;width:0!important;height:0!important;min-width:0!important;min-height:0!important;max-width:0!important;max-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;pointer-events:none!important;
}
html body :is(.heart,.heart-btn,.pgp-heart,.fav-btn,#favBtn):is(.active,.is-active,.pgp-heart-active,[data-pgp-heart-active="1"]){
  background-color:transparent!important;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23ee154e%22%3E%3Cpath%20d%3D%22M20.84%204.61a5.5%205.5%200%200%200-7.78%200L12%205.67l-1.06-1.06a5.5%205.5%200%200%200-7.78%207.78L12%2021.23l8.84-8.84a5.5%205.5%200%200%200%200-7.78Z%22%20stroke%3D%22%23ee154e%22%20stroke-width%3D%222.0%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E")!important;
  box-shadow:none!important;
  filter:drop-shadow(0 4px 10px rgba(238,21,78,.18))!important;
}
html body :is(.heart,.heart-btn,.pgp-heart,.fav-btn,#favBtn).pgp-heart-pressed{
  transform:scale(.92)!important;
}
@media (hover:hover){
  html body :is(.heart,.heart-btn,.pgp-heart,.fav-btn,#favBtn):hover{filter:drop-shadow(0 4px 10px rgba(238,21,78,.16))!important;}
}
@media (max-width:768px){
  :root{--pgp-heart-size:36px;--pgp-heart-icon-size:26px 26px;}
  html body :is(.heart,.heart-btn,.pgp-heart){right:9px!important;bottom:9px!important;}
}


/* PGP v124 — homepage product hearts moved into existing hearts CSS */
/* PGP v124 — keep homepage product cards relative for bottom hearts */
html body #home .pgp-most-product:not(.pgp-most-garage),
html body #home #products article{position:relative!important;}
/* Heart is bottom-right, opposite the bottom-left price. */
html body #home .pgp-most-product:not(.pgp-most-garage) > .pgp-heart.pgp-home-card-heart,
html body #home #products article .pgp-heart.pgp-home-card-heart{
  top:auto!important;
  right:10px!important;
  bottom:7px!important;
  left:auto!important;
  z-index:120!important;
}
html body #home .pgp-most-product:not(.pgp-most-garage).pgp-has-home-heart .pgp-most-price{
  top:auto!important;
  left:12px!important;
  right:auto!important;
  bottom:12px!important;
  z-index:118!important;
}
html body #home .pgp-most-product:not(.pgp-most-garage).pgp-has-home-heart .pgp-most-info{
  bottom:40px!important;
  right:12px!important;
}
html body #home .pgp-most-product.pgp-has-home-heart .pgp-most-views{
  top:10px!important;
  right:10px!important;
}
@media(max-width:768px){
  html body #home .pgp-most-product:not(.pgp-most-garage) > .pgp-heart.pgp-home-card-heart,
  html body #home #products article .pgp-heart.pgp-home-card-heart{top:auto!important;right:6px!important;bottom:4px!important;}
  html body #home .pgp-most-product:not(.pgp-most-garage).pgp-has-home-heart .pgp-most-price{top:auto!important;left:7px!important;bottom:8px!important;}
  html body #home .pgp-most-product:not(.pgp-most-garage).pgp-has-home-heart .pgp-most-info{bottom:28px!important;right:7px!important;}
  html body #home .pgp-most-product.pgp-has-home-heart .pgp-most-views{top:6px!important;right:6px!important;}
}

/* PGP v125 — homepage card heart slightly lower and farther right */
html body #home .pgp-most-product:not(.pgp-most-garage) > .pgp-heart.pgp-home-card-heart,
html body #home #products article .pgp-heart.pgp-home-card-heart{
  right:6px!important;
  bottom:3px!important;
}
@media(max-width:768px){
  html body #home .pgp-most-product:not(.pgp-most-garage) > .pgp-heart.pgp-home-card-heart,
  html body #home #products article .pgp-heart.pgp-home-card-heart{
    right:2px!important;
    bottom:0!important;
  }
}

/* PGP v142 — keep product hearts aligned on every product card */
html body :is(.product-card,.pgp-product-card,.pgp-most-product:not(.pgp-most-garage),.saved-item,.saved-product){
  position:relative!important;
}
html body :is(.product-card,.pgp-product-card,.saved-item,.saved-product) > :is(.heart,.heart-btn,.pgp-heart,.fav-btn){
  top:auto!important;
  right:12px!important;
  bottom:12px!important;
  left:auto!important;
  z-index:140!important;
}
html body :is(.product-card,.pgp-product-card,.saved-item,.saved-product) > :is(.heart,.heart-btn,.pgp-heart,.fav-btn):is(.active,.is-active,.pgp-heart-active,[data-pgp-heart-active="1"]){
  top:auto!important;
  right:12px!important;
  bottom:12px!important;
  left:auto!important;
}
@media (max-width:768px){
  html body :is(.product-card,.pgp-product-card,.saved-item,.saved-product) > :is(.heart,.heart-btn,.pgp-heart,.fav-btn){
    right:10px!important;
    bottom:10px!important;
  }
}
