/* ═══════════════════════════════════════════════════════
   Holiday Logo Animations — MDM Portal v3
   ═══════════════════════════════════════════════════════ */

.holiday-logo-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 50%;
  flex-shrink: 0;
}
/* Sidebar size */
.sidebar-logo .holiday-logo-wrap {
  width: 95px;
  height: 95px;
}
/* Login page size */
.login-logo .holiday-logo-wrap {
  width: 210px;
  height: 210px;
}
/* KB sidebar size */
.kb-tree-header .holiday-logo-wrap {
  width: 95px;
  height: 95px;
}
.holiday-logo-wrap img.mdm-logo-img {
  position: relative;
  z-index: 10;
  width: 60% !important;
  height: 60% !important;
  object-fit: contain;
}

/* ═══ NEW YEAR ═══ */
.holiday-newyear {
  background: radial-gradient(ellipse at 50% 120%, #1a3a5c 0%, #0d1b2a 100%);
}
.holiday-newyear img.mdm-logo-img {
  filter: drop-shadow(0 0 12px rgba(255,220,100,0.5)) drop-shadow(0 0 24px rgba(100,180,255,0.3));
  animation: ny-glow 2s ease-in-out infinite alternate;
}
@keyframes ny-glow {
  0% { filter: drop-shadow(0 0 8px rgba(255,220,100,0.3)) drop-shadow(0 0 16px rgba(100,180,255,0.2)); }
  100% { filter: drop-shadow(0 0 16px rgba(255,220,100,0.7)) drop-shadow(0 0 32px rgba(100,180,255,0.4)); }
}
.ny-hat { position:absolute; top:4%; right:16%; z-index:20; width:22%; height:18%; animation:ny-hat-bob 3s ease-in-out infinite; }
@keyframes ny-hat-bob { 0%,100%{transform:rotate(-5deg) translateY(0)} 50%{transform:rotate(-3deg) translateY(-3px)} }
.ny-snow { position:absolute; top:-10px; z-index:5; width:100%; height:100%; pointer-events:none; }
.ny-snow span { position:absolute; display:block; color:rgba(255,255,255,0.85); animation:snowfall linear infinite; text-shadow:0 0 3px rgba(200,230,255,0.7); }
@keyframes snowfall { 0%{transform:translateY(-20px) rotate(0deg);opacity:0} 10%{opacity:1} 90%{opacity:0.5} 100%{transform:translateY(200px) rotate(360deg);opacity:0} }
.ny-sparkle { position:absolute; width:3px; height:3px; background:#fff; border-radius:50%; z-index:15; animation:sparkle 1.5s ease-in-out infinite; box-shadow:0 0 5px 1px rgba(255,255,200,0.7); }
@keyframes sparkle { 0%,100%{opacity:0;transform:scale(0)} 50%{opacity:1;transform:scale(1)} }

/* ═══ 23 FEB ═══ */
.holiday-23feb {
  background: linear-gradient(160deg, #2c3e2c 0%, #1a2b1a 60%, #3d4f3d 100%);
}
.holiday-23feb img.mdm-logo-img {
  filter: drop-shadow(0 0 10px rgba(218,165,32,0.5)) brightness(1.1);
}
.feb-ribbon { position:absolute; bottom:5%; left:50%; transform:translateX(-50%); width:55%; height:8%; z-index:15; background:repeating-linear-gradient(90deg,#FF8C00 0px,#FF8C00 6px,#1a1a1a 6px,#1a1a1a 12px); border-radius:6px; animation:ribbon-wave 3s ease-in-out infinite; box-shadow:0 2px 4px rgba(0,0,0,0.3); }
@keyframes ribbon-wave { 0%,100%{transform:translateX(-50%) scaleX(1)} 50%{transform:translateX(-50%) scaleX(1.03)} }
.feb-star { position:absolute; z-index:12; animation:star-pulse 2s ease-in-out infinite; display:inline-flex; width:auto; height:auto; }
.feb-star svg { filter:drop-shadow(0 0 3px rgba(218,165,32,0.4)); display:block; }
@keyframes star-pulse { 0%,100%{opacity:0.4;transform:scale(0.7) rotate(0deg)} 50%{opacity:1;transform:scale(1) rotate(10deg)} }

/* ═══ 8 MAR ═══ */
.holiday-8mar {
  background: linear-gradient(180deg, #fff5f9 0%, #ffe0ec 50%, #ffd1e3 100%);
}
.holiday-8mar img.mdm-logo-img {
  filter: drop-shadow(0 0 10px rgba(255,105,180,0.4));
}
.mar-petal { position:absolute; z-index:5; opacity:0; animation:petal-fall linear infinite; }
@keyframes petal-fall { 0%{transform:translateY(-20px) rotate(0deg) translateX(0);opacity:0} 10%{opacity:0.7} 50%{transform:translateY(80px) rotate(180deg) translateX(15px);opacity:0.5} 100%{transform:translateY(180px) rotate(360deg) translateX(-8px);opacity:0} }
.mar-flower { position:absolute; z-index:15; animation:flower-sway 3s ease-in-out infinite; display:inline-flex; width:auto; height:auto; }
@keyframes flower-sway { 0%,100%{transform:rotate(-3deg)} 50%{transform:rotate(3deg)} }
.mar-butterfly { position:absolute; z-index:20; animation:butterfly-fly 6s ease-in-out infinite; display:inline-flex; width:auto; height:auto; }
@keyframes butterfly-fly { 0%{transform:translate(0,0) rotate(5deg)} 25%{transform:translate(15px,-10px) rotate(-5deg)} 50%{transform:translate(30px,3px) rotate(5deg)} 75%{transform:translate(10px,-8px) rotate(-3deg)} 100%{transform:translate(0,0) rotate(5deg)} }

/* ═══ EASTER ═══ */
.holiday-easter {
  background: linear-gradient(180deg, #fdf8ed 0%, #f5ecd0 50%, #ede3bf 100%);
}
.holiday-easter img.mdm-logo-img {
  filter: drop-shadow(0 0 10px rgba(218,165,32,0.4));
  animation: easter-gentle 3s ease-in-out infinite alternate;
}
@keyframes easter-gentle { 0%{filter:drop-shadow(0 0 6px rgba(218,165,32,0.3))} 100%{filter:drop-shadow(0 0 14px rgba(218,165,32,0.5))} }
.easter-egg { position:absolute; z-index:15; animation:egg-bob 2.5s ease-in-out infinite; display:inline-flex; width:auto; height:auto; }
@keyframes egg-bob { 0%,100%{transform:translateY(0) rotate(-3deg)} 50%{transform:translateY(-4px) rotate(3deg)} }
.easter-flame { position:absolute; z-index:20; display:inline-flex; width:auto; height:auto; }

/* ═══ 1 MAY ═══ */
.holiday-1may {
  background: linear-gradient(180deg, #87CEEB 0%, #B0E0FF 50%, #d4f1ff 100%);
}
.holiday-1may img.mdm-logo-img {
  filter: drop-shadow(0 0 8px rgba(255,200,50,0.5));
}
.may-balloon { position:absolute; z-index:8; animation:balloon-float 4s ease-in-out infinite; display:inline-flex; width:auto; height:auto; }
@keyframes balloon-float { 0%,100%{transform:translateY(0) rotate(-2deg)} 50%{transform:translateY(-8px) rotate(2deg)} }
.may-sun { position:absolute; top:-8%; right:-8%; width:28%; height:28%; z-index:3; animation:sun-rotate 20s linear infinite; }
@keyframes sun-rotate { 0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)} }

/* ═══ 9 MAY ═══ */
.holiday-9may {
  background: radial-gradient(ellipse at 50% 100%, #1a1a2e 0%, #0d0d1a 100%);
}
.holiday-9may img.mdm-logo-img {
  filter: drop-shadow(0 0 12px rgba(255,140,0,0.5)) brightness(1.15);
}
.may9-particle { position:absolute; width:3px; height:3px; border-radius:50%; animation:salute-burst 2s ease-out infinite; }
@keyframes salute-burst { 0%{transform:translate(0,0) scale(1);opacity:1} 100%{transform:var(--salute-end) scale(0);opacity:0} }
.may9-flame { position:absolute; bottom:8%; left:50%; transform:translateX(-50%); z-index:20; }
.may9-flame-inner { width:10px; height:16px; background:radial-gradient(ellipse at 50% 100%,#ff6600 0%,#ffaa00 40%,#ffdd44 70%,transparent 100%); border-radius:50% 50% 50% 50%/60% 60% 40% 40%; animation:flame-dance 0.4s ease-in-out infinite alternate; filter:blur(1px); box-shadow:0 0 10px rgba(255,140,0,0.7),0 0 20px rgba(255,100,0,0.3); }
@keyframes flame-dance { 0%{transform:scaleX(1) scaleY(1) rotate(-3deg)} 100%{transform:scaleX(0.85) scaleY(1.15) rotate(3deg)} }
.may9-ribbon { position:absolute; bottom:3%; left:50%; transform:translateX(-50%); width:50%; height:6%; z-index:18; background:repeating-linear-gradient(90deg,#FF8C00 0px,#FF8C00 5px,#1a1a1a 5px,#1a1a1a 10px); border-radius:3px; box-shadow:0 2px 4px rgba(0,0,0,0.4); }
.may9-salute { position:absolute; width:100%; height:100%; z-index:15; pointer-events:none; }

/* ═══ BIRTHDAY ═══ */
.holiday-birthday {
  background: linear-gradient(160deg, #667eea 0%, #764ba2 100%);
}
.holiday-birthday img.mdm-logo-img {
  filter: drop-shadow(0 0 12px rgba(255,255,255,0.5));
  animation: bday-bounce 2s ease-in-out infinite;
}
@keyframes bday-bounce { 0%,100%{transform:scale(1)} 50%{transform:scale(1.05)} }
.bday-confetti { position:absolute; z-index:5; opacity:0; animation:confetti-fall linear infinite; }
@keyframes confetti-fall { 0%{transform:translateY(-20px) rotateZ(0deg) rotateY(0deg);opacity:0} 10%{opacity:1} 100%{transform:translateY(200px) rotateZ(720deg) rotateY(360deg);opacity:0} }
.bday-hat { position:absolute; top:4%; right:14%; z-index:20; width:20%; animation:hat-wiggle 2s ease-in-out infinite; }
@keyframes hat-wiggle { 0%,100%{transform:rotate(-8deg)} 50%{transform:rotate(5deg)} }

/* ═══ RUSSIA DAY ═══ */
.holiday-russia, .holiday-russia_day {
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 33%, #0039A6 33%, #0039A6 66%, #D52B1E 66%, #D52B1E 100%);
}
.holiday-russia img.mdm-logo-img, .holiday-russia_day img.mdm-logo-img {
  filter: drop-shadow(0 0 8px rgba(0,57,166,0.4)) drop-shadow(0 0 4px rgba(255,255,255,0.8));
}
.russia-flag { position:absolute; z-index:15; animation:flag-wave 2s ease-in-out infinite; display:inline-flex; width:auto; height:auto; }
@keyframes flag-wave { 0%,100%{transform:rotate(-5deg)} 50%{transform:rotate(5deg)} }
.russia-sparkle { position:absolute; z-index:20; animation:r-sparkle 2s ease-in-out infinite; display:inline-flex; width:auto; height:auto; }
@keyframes r-sparkle { 0%,100%{opacity:0;transform:scale(0) rotate(0deg)} 50%{opacity:1;transform:scale(1) rotate(180deg)} }
