/**
 * Dapin47 v2 — Animations & Keyframes
 * Preservasi 100% animasi ikonik: floating hero dan pulsating video button.
 */

/* Hero Image Floating Animation */
@keyframes up-down {
  0% {
    transform: translateY(10px);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(10px);
  }
}

.animated {
  animation: up-down 2.2s ease-in-out infinite alternate;
}

/* Pulsating Play Button Animation */
@keyframes pulsate-play-btn {
  0% {
    transform: scale(0.6, 0.6);
    opacity: 1;
  }
  100% {
    transform: scale(1.4, 1.4);
    opacity: 0;
  }
}

.pulsating-play-btn {
  width: 74px;
  height: 74px;
  background: radial-gradient(var(--primary-color) 50%, rgba(206, 18, 18, 0.25) 52%);
  border-radius: 50%;
  display: block;
  position: absolute;
  left: calc(50% - 37px);
  top: calc(50% - 37px);
  overflow: hidden;
  cursor: pointer;
  z-index: 3;
}

.pulsating-play-btn::before {
  content: "";
  position: absolute;
  width: 100px;
  height: 100px;
  animation-delay: 0s;
  animation: pulsate-play-btn 2s;
  animation-direction: forwards;
  animation-iteration-count: infinite;
  animation-timing-function: steps;
  opacity: 1;
  border-radius: 50%;
  border: 5px solid rgba(206, 18, 18, 0.7);
  top: -15px;
  left: -15px;
  background: rgba(198, 16, 0, 0);
}

.pulsating-play-btn::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-40%) translateY(-50%);
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid #fff;
  z-index: 100;
  transition: all 400ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.pulsating-play-btn:hover::before {
  animation: none;
}

.pulsating-play-btn:hover::after {
  border-left-color: #fff;
  transform: translateX(-40%) translateY(-50%) scale(1.15);
}
