/* FoodYang 首頁熱點；沿用 .loop-shots 的定位與既有截圖疊放。 */
.loop-hot {
  position: absolute;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--white);
  cursor: pointer;
  touch-action: manipulation;
  user-select: none;
  translate: -50% -50%;
  scale: .95;
  opacity: 0;
  transition: opacity 200ms cubic-bezier(.23, 1, .32, 1), scale 200ms cubic-bezier(.23, 1, .32, 1);
}
.loop-hot[hidden] { display: none !important; }
.loop-hot:not(.is-visible) { pointer-events: none; transition: none !important; }
.loop-hot.is-visible { opacity: 1; scale: 1; }
.loop-hot:active { transform: none; scale: .95; transition-duration: 150ms; }
.loop-hot:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }
.loop-hot-ring {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 2px solid var(--coral);
  border-radius: 50%;
  pointer-events: none;
}
.loop-hot-ring::after {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--coral);
  scale: 1;
  transition: scale 150ms cubic-bezier(.23, 1, .32, 1);
}
.loop-hot-tip {
  position: absolute;
  left: calc(50% + 26px);
  top: 50%;
  width: max-content;
  padding: 6px 10px;
  border-radius: var(--radius);
  background: var(--navy);
  color: var(--white);
  font: 400 13px/1.5 var(--font-body);
  white-space: nowrap;
  pointer-events: none;
  translate: 0 -50%;
}
.loop-hot.is-left .loop-hot-tip { left: auto; right: calc(50% + 26px); }
.loop-hot.is-docked .loop-hot-tip {
  left: 50%;
  right: auto;
  translate: calc(-50% + var(--loop-tip-shift)) var(--loop-tip-drop);
}
.loop-hot-status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (hover: hover) and (pointer: fine) {
  .loop-hot:hover .loop-hot-ring::after { scale: 1.4; }
}
@media (max-width: 1023px) {
  .loop-hot-status { display: none; }
}
@media (max-width: 639px) {
  .loop-hot-tip { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .loop-hot, .loop-hot:active { scale: 1; transform: none; }
  /* site.css 全域停用 transition；只為這顆熱點保留工單指定的淡入。 */
  .loop-hot.is-visible { transition: opacity 200ms cubic-bezier(.23, 1, .32, 1) !important; }
  .loop-hot .loop-hot-ring::after { scale: 1 !important; transition: none; }
  .loop-hot:active .loop-hot-ring::after { background: var(--coral-d); }
}
@media print {
  .loop-hot, .loop-hot-status { display: none !important; }
}
