/* ANIMATIONS */

/* Hero Animations */
@keyframes gradientShift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes quoteGlow {
  0% { text-shadow: 0 0 15px rgba(255, 202, 86, 0.6); }
  100% { text-shadow: 0 0 25px rgba(255, 202, 86, 0.9), 0 0 35px rgba(255, 202, 86, 0.5); }
}

@keyframes iconBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

/* Cat Bubble Rotation Animations */
@keyframes rotate0 {
  from { transform: translate(-50%, -50%) rotate(0deg) translateX(280px) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg) translateX(280px) rotate(-360deg); }
}

@keyframes rotate36 {
  from { transform: translate(-50%, -50%) rotate(36deg) translateX(280px) rotate(-36deg); }
  to { transform: translate(-50%, -50%) rotate(396deg) translateX(280px) rotate(-396deg); }
}

@keyframes rotate72 {
  from { transform: translate(-50%, -50%) rotate(72deg) translateX(280px) rotate(-72deg); }
  to { transform: translate(-50%, -50%) rotate(432deg) translateX(280px) rotate(-432deg); }
}

@keyframes rotate108 {
  from { transform: translate(-50%, -50%) rotate(108deg) translateX(280px) rotate(-108deg); }
  to { transform: translate(-50%, -50%) rotate(468deg) translateX(280px) rotate(-468deg); }
}

@keyframes rotate144 {
  from { transform: translate(-50%, -50%) rotate(144deg) translateX(280px) rotate(-144deg); }
  to { transform: translate(-50%, -50%) rotate(504deg) translateX(280px) rotate(-504deg); }
}

@keyframes rotate180 {
  from { transform: translate(-50%, -50%) rotate(180deg) translateX(280px) rotate(-180deg); }
  to { transform: translate(-50%, -50%) rotate(540deg) translateX(280px) rotate(-540deg); }
}

@keyframes rotate216 {
  from { transform: translate(-50%, -50%) rotate(216deg) translateX(280px) rotate(-216deg); }
  to { transform: translate(-50%, -50%) rotate(576deg) translateX(280px) rotate(-576deg); }
}

@keyframes rotate252 {
  from { transform: translate(-50%, -50%) rotate(252deg) translateX(280px) rotate(-252deg); }
  to { transform: translate(-50%, -50%) rotate(612deg) translateX(280px) rotate(-612deg); }
}

@keyframes rotate288 {
  from { transform: translate(-50%, -50%) rotate(288deg) translateX(280px) rotate(-288deg); }
  to { transform: translate(-50%, -50%) rotate(648deg) translateX(280px) rotate(-648deg); }
}

@keyframes rotate324 {
  from { transform: translate(-50%, -50%) rotate(324deg) translateX(280px) rotate(-324deg); }
  to { transform: translate(-50%, -50%) rotate(684deg) translateX(280px) rotate(-684deg); }
}

/* Special Badge Pulse */
@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

/* Border Glow Animation */
@keyframes borderGlow {
  0% { filter: brightness(1); }
  100% { filter: brightness(1.2); }
}

/* Shimmer Effect */
@keyframes shimmer {
  0% { left: -100%; }
  100% { left: 100%; }
}

/* Submenu Slide Down */
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

/* Aegis Cat Bubble Rotation */
.aegis-cat-bubble.rotate {
  animation: aegis-flip 1s linear;
  backface-visibility: hidden;
}

@keyframes aegis-flip {
  0% { transform: rotateY(0deg); }
  50% { transform: rotateY(90deg); }
  100% { transform: rotateY(180deg); }
}

.aegis-cat-bubble {
  perspective: 600px;
}

.aegis-cat-bubble .flip-inner {
  transition: transform 1s linear;
  transform-style: preserve-3d;
  width: 100%;
  height: 100%;
  position: relative;
}

.aegis-cat-bubble .flip-front,
.aegis-cat-bubble .flip-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  top: 0; left: 0;
}

.aegis-cat-bubble .flip-back {
  transform: rotateY(180deg);
}

.aegis-cat-bubble.flipped .flip-inner {
  transform: rotateY(180deg);
}
