/* Значок шоковой заморозки на карточках и фото товара */

.prod-cube-img,
.product-photo-frame,
.related-card {
  position: relative;
}

.freeze-badge {
  position: absolute;
  top: .55rem;
  right: .55rem;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: .28rem;
  padding: .28rem .45rem .28rem .38rem;
  border-radius: 999px;
  background: rgba(12, 28, 48, .72);
  color: #e8f6ff;
  font-family: inherit;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1;
  pointer-events: auto;
  cursor: default;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .22);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  user-select: none;
}

.product-photo-frame .freeze-badge {
  top: .75rem;
  right: .75rem;
  font-size: .82rem;
  padding: .34rem .55rem .34rem .45rem;
  gap: .34rem;
}

.freeze-badge-icon {
  width: .95em;
  height: .95em;
  flex-shrink: 0;
  color: #6ec8ff;
  display: block;
  filter: drop-shadow(0 0 4px rgba(110, 200, 255, .45));
}

.freeze-badge-temp {
  white-space: nowrap;
}

.freeze-badge-tip {
  display: none;
  position: absolute;
  right: calc(100% + .35rem);
  top: 50%;
  transform: translateY(-50%);
  padding: .35rem .55rem;
  border-radius: 8px;
  background: rgba(12, 28, 48, .92);
  color: #e8f6ff;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .02em;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .25);
  pointer-events: none;
}

.freeze-badge-tip::before {
  content: '';
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  border: 5px solid transparent;
  border-left-color: rgba(12, 28, 48, .92);
}

/* Подсказка «заморозка» только на устройствах с настоящим hover */
@media (hover: hover) and (pointer: fine) {
  .freeze-badge:hover .freeze-badge-tip,
  .freeze-badge:focus-visible .freeze-badge-tip {
    display: block;
  }
}

@media (max-width: 720px) {
  .freeze-badge {
    top: .4rem;
    right: .4rem;
    font-size: .68rem;
    padding: .24rem .4rem .24rem .32rem;
  }

  .product-photo-frame .freeze-badge {
    top: .55rem;
    right: .55rem;
    font-size: .76rem;
  }

  .freeze-badge-tip {
    display: none !important;
  }
}
