/* Portrait product photographs in a shared frame across listing pages. */
body .best.tf-home-best .best__list .best__list-product-card,
body .catalog__list-item {
  border-color: #e0d7cc;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 20px rgb(48 36 26 / 4%);
}

body .best.tf-home-best .best__list .best__list-product-card-image-wrapper,
body .catalog__list-item .catalog__list-image-wrapper {
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: 100%;
  height: auto;
  min-height: 0;
  padding: 10px;
  aspect-ratio: auto;
  overflow: hidden;
  border-bottom: 1px solid #e9e1d7;
  background: linear-gradient(145deg, #f7f4ee, #eee8de);
}

body .best.tf-home-best .best__list .best__list-product-card .best__list-product-card-image-wrapper > img,
body .catalog__list-item .catalog__list-image-wrapper > img {
  position: static;
  inset: auto;
  display: block;
  width: 100%;
  height: auto;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: none;
  margin: 0;
  aspect-ratio: 7 / 9;
  border-radius: 8px;
  outline: 1px solid rgb(63 45 30 / 8%);
  outline-offset: -1px;
  background: #fff;
  object-fit: contain;
  object-position: center;
  transform: none;
}

body .best.tf-home-best .best__list-product-card-image-wrapper::before,
body .best.tf-home-best .best__list-product-card-image-wrapper::after,
body .catalog__list-item .catalog__list-image-wrapper::before,
body .catalog__list-item .catalog__list-image-wrapper::after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 18px;
  height: 18px;
  pointer-events: none;
}

body .best.tf-home-best .best__list-product-card-image-wrapper::before,
body .catalog__list-item .catalog__list-image-wrapper::before {
  top: 9px;
  left: 9px;
  border-top: 2px solid #df542c;
  border-left: 2px solid #df542c;
}

body .best.tf-home-best .best__list-product-card-image-wrapper::after,
body .catalog__list-item .catalog__list-image-wrapper::after {
  right: 9px;
  bottom: 10px;
  border-right: 2px solid #df542c;
  border-bottom: 2px solid #df542c;
}

body .best.tf-home-best .best__list-product-card-content,
body .catalog__list-item .list-item__content {
  flex: 0 0 auto;
  padding: 18px;
  gap: 12px;
}

body .best.tf-home-best .best__list-product-card-info,
body .catalog__list-item .list-item__product-info {
  gap: 7px;
}

body .best.tf-home-best .best__list-product-card-info h4,
body .catalog__list-item .list-item__product-info h4 {
  min-height: 0;
  color: #7a7065;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: .55px;
  text-transform: uppercase;
}

body .best.tf-home-best .best__list-product-card-info h3,
body .catalog__list-item .list-item__product-info h3 {
  min-height: 0;
  color: #262c28;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -.45px;
}

body .best.tf-home-best .best__list-product-card-content > p,
body .catalog__list-item .list-item__price {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
  color: #202824;
  font-size: 23px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -.6px;
}

body .best.tf-home-best .best__list-product-card-content > p::after,
body .catalog__list-item .list-item__price::after {
  content: "\2197";
  flex: 0 0 auto;
  color: #d84920;
  font: 19px Arial, sans-serif;
}

body .best.tf-home-best .best__list-product-card-cart,
body .catalog__list-item .catalog__list-cart-btn {
  top: 20px;
  right: 20px;
  bottom: auto;
  width: 38px;
  height: 38px;
  border: 1px solid #e1d9cf;
  background: #fff;
  box-shadow: 0 3px 9px rgb(48 36 26 / 8%);
  opacity: 1;
  visibility: visible;
  transform: none;
}

@media (max-width: 720px) {
  body .best.tf-home-best .best__list .best__list-product-card,
  body .catalog__list-item {
    border-radius: 12px;
  }

  body .best.tf-home-best .best__list .best__list-product-card-image-wrapper,
  body .catalog__list-item .catalog__list-image-wrapper {
    padding: 8px;
  }

  body .best.tf-home-best .best__list-product-card-image-wrapper::before,
  body .catalog__list-item .catalog__list-image-wrapper::before {
    top: 7px;
    left: 7px;
    width: 14px;
    height: 14px;
  }

  body .best.tf-home-best .best__list-product-card-image-wrapper::after,
  body .catalog__list-item .catalog__list-image-wrapper::after {
    right: 7px;
    bottom: 8px;
    width: 14px;
    height: 14px;
  }

  body .best.tf-home-best .best__list-product-card-content,
  body .catalog__list-item .list-item__content {
    padding: 12px;
    gap: 10px;
  }

  body .best.tf-home-best .best__list-product-card-info,
  body .catalog__list-item .list-item__product-info {
    gap: 6px;
  }

  body .best.tf-home-best .best__list-product-card-info h4,
  body .catalog__list-item .list-item__product-info h4 {
    font-size: 8.5px;
    letter-spacing: .2px;
  }

  body .best.tf-home-best .best__list-product-card-info h3,
  body .catalog__list-item .list-item__product-info h3 {
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: -.25px;
  }

  body .best.tf-home-best .best__list-product-card-content > p,
  body .catalog__list-item .list-item__price {
    font-size: 18px;
    letter-spacing: -.35px;
  }

  body .best.tf-home-best .best__list-product-card-cart,
  body .catalog__list-item .catalog__list-cart-btn {
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
  }
}

@media (max-width: 360px) {
  body .best.tf-home-best .best__list-product-card-content,
  body .catalog__list-item .list-item__content {
    padding: 10px;
  }

  body .best.tf-home-best .best__list-product-card-content > p,
  body .catalog__list-item .list-item__price {
    font-size: 16px;
  }
}

/* Independent, slow motion keeps the frames gently alive. */
body .best.tf-home-best .best__list .best__list-product-card,
body .catalog__list-item {
  animation: tf-product-breathe 9s ease-in-out infinite;
  transition: transform .25s, border-color .25s, box-shadow .25s;
}

body .best.tf-home-best .best__list .best__list-product-card:nth-child(3n + 2),
body .catalog__list-item:nth-child(3n + 2) {
  animation-duration: 10.5s;
  animation-delay: -3.5s;
}

body .best.tf-home-best .best__list .best__list-product-card:nth-child(3n),
body .catalog__list-item:nth-child(3n) {
  animation-duration: 12s;
  animation-delay: -7s;
}

body .best.tf-home-best .best__list .best__list-product-card:focus-within,
body .catalog__list-item:focus-within {
  animation-play-state: paused;
}

@keyframes tf-product-breathe {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -3px; }
}

@media (hover: hover) {
  body .best.tf-home-best .best__list .best__list-product-card:hover,
  body .catalog__list-item:hover {
    animation-play-state: paused;
    transform: translateY(-3px);
    border-color: #cbb39a;
    box-shadow: 0 12px 28px rgb(48 36 26 / 10%);
  }
}

@media (prefers-reduced-motion: reduce) {
  body .best.tf-home-best .best__list .best__list-product-card,
  body .catalog__list-item,
  body .best.tf-home-best .best__list .best__list-product-card:hover,
  body .catalog__list-item:hover {
    animation: none;
    translate: none;
    transform: none;
    transition: none;
  }
}
