.activity-decoration {
  --gallery-green: #009471;
  --gallery-green-dark: #006e54;
  --gallery-green-soft: #e7f6f2;
  --gallery-red: #b64242;
  --gallery-red-soft: #fbebeb;
  --gallery-blue: #116ea8;
  --gallery-blue-soft: #eaf3fb;
  --gallery-orange: #d6a51f;
  --gallery-orange-soft: #fff7d8;
  --gallery-dark: #505961;
  --gallery-uribo-bg: #87919a;
  --gallery-dark-soft: #eef1f3;
  --gallery-ink: #263238;
  --gallery-sub: #66737d;
  --gallery-line: #dce3e8;
  --gallery-bg: #f4f8f7;

  position: relative; display: flex; justify-content: flex-end;
  min-height: 74.4px; padding: 26.4px 8px 0; margin: 0;
  clear: both; width: 100%; box-sizing: border-box;
}
.dec-category-icon {
  --uribo-cube-size: 32px;
  --uribo-cube-depth: 16px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  top: -1px;
  margin-bottom: 0;
  padding: 0;
  box-sizing: border-box;
  perspective: 180px;
  background: transparent;
}

.dec-category-icon::after {
  content: "";
  position: absolute;
  right: 3px;
  bottom: 5px;
  width: 31px;
  height: 11px;
  border-radius: 50%;
  background: rgba(38, 50, 56, .22);
  filter: blur(5px);
  transform: rotate(-12deg);
  pointer-events: none;
}

.dec-uribo-cube {
  position: relative;
  z-index: 1;
  width: var(--uribo-cube-size);
  height: var(--uribo-cube-size);
  margin-left: 4px;
  transform-style: preserve-3d;
  transform: rotateX(-14deg) rotateY(28deg);
  animation: decCubeSpin 12s ease-in-out infinite;
}

.dec-uribo-face {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(70, 82, 92, .42);
  border-radius: 3px;
  background: linear-gradient(135deg, #98a1a9 0%, var(--gallery-uribo-bg) 100%);
  box-shadow: inset 0 0 8px rgba(70, 82, 92, .08);
  backface-visibility: hidden;
}

.dec-uribo-face-front {
  background: linear-gradient(135deg, #aab2b9 0%, var(--gallery-uribo-bg) 100%);
  transform: translateZ(var(--uribo-cube-depth));
}

.dec-uribo-face-back {
  background: linear-gradient(135deg, #aab2b9 0%, var(--gallery-uribo-bg) 100%);
  transform: rotateY(180deg) translateZ(var(--uribo-cube-depth));
}

.dec-uribo-face-right {
  background: linear-gradient(135deg, #10a982 0%, var(--gallery-green) 100%);
  transform: rotateY(90deg) translateZ(var(--uribo-cube-depth));
}

.dec-uribo-face-left {
  background: linear-gradient(135deg, #c65353 0%, var(--gallery-red) 100%);
  transform: rotateY(-90deg) translateZ(var(--uribo-cube-depth));
}

.dec-uribo-face-top {
  background: linear-gradient(135deg, #2389c3 0%, var(--gallery-blue) 100%);
  transform: rotateX(90deg) translateZ(var(--uribo-cube-depth));
}

.dec-uribo-face-bottom {
  background: linear-gradient(135deg, #e0b83c 0%, var(--gallery-orange) 100%);
  transform: rotateX(-90deg) translateZ(var(--uribo-cube-depth));
}

.dec-uribo-face img {
  display: block;
  width: 27px;
  height: 27px;
  object-fit: contain;
  filter: drop-shadow(0 1px 0 rgba(0, 0, 0, .12));
}

.dec-uribo-face img.dec-cube-logo {
  width: 33px;
  height: 33px;
}

.dec-cube-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 29px;
  height: 13px;
  padding: 0 6px;
  border-radius: 999px;
  background: #fff;
  color: var(--gallery-blue);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .14);
}

.dec-uribo-face-bottom .dec-cube-text {
  color: var(--gallery-orange);
}

@keyframes decCubeSpin {
  0% {
    transform: rotateX(-38deg) rotateY(32deg) rotateZ(-8deg);
  }
  35% {
    transform: rotateX(36deg) rotateY(166deg) rotateZ(9deg);
  }
  70% {
    transform: rotateX(-44deg) rotateY(310deg) rotateZ(-10deg);
  }
  100% {
    transform: rotateX(-38deg) rotateY(392deg) rotateZ(-8deg);
  }
}


.activity-decoration .dec-category-icon { transform: scale(1.3); transform-origin: right bottom; flex-shrink: 0; z-index: 1; }
.activity-decoration img.dec-footer-waves {
  position: absolute; left: 0; bottom: 0; width: calc(100% - 67px);
  max-width: none; height: 60px; margin: 0; border: 0; background: transparent; pointer-events: none;
}
.contents-row .contents-main.has-activity-decoration { padding-bottom: clamp(7.5px, 2.5vw, 20px); }
@media (max-width: 640px) {
  .activity-decoration { min-height: 62px; padding: 22px 4px 0; }
  .activity-decoration .dec-category-icon { --uribo-cube-size: 28px; --uribo-cube-depth: 14px; width: 40px; height: 40px; }
  .activity-decoration .dec-uribo-face img { width: 20px; height: 20px; }
  .activity-decoration .dec-uribo-face img.dec-cube-logo { width: 24px; height: 24px; }
  .activity-decoration .dec-cube-text { min-width: 23px; height: 10px; padding: 0 4px; font-size: 9px; }
  .activity-decoration img.dec-footer-waves { width: calc(100% - 54px); height: 48px; }
}
@media (prefers-reduced-motion: reduce) { .activity-decoration .dec-uribo-cube { animation: none; } }
