/* Riyazi-Bazi v5.4 - شخصیت‌های انیمیشنی (ماسکات‌ها) */
.mascot-row {
  display: flex; justify-content: center; gap: 24px; flex-wrap: wrap;
  margin: 14px 0 6px; pointer-events: none; user-select: none;
}
.mascot-svg { width: 86px; height: 86px; }
.mascot-svg .m-body {
  animation: mascotFloat 3.4s ease-in-out infinite;
  transform-box: fill-box; transform-origin: 50% 90%;
}
.mascot-svg .m-eye {
  animation: mascotBlink 4.6s infinite;
  transform-box: fill-box; transform-origin: center;
}
.mascot-row .mascot-svg:nth-child(2n) .m-body { animation-delay: 0.5s; }
.mascot-row .mascot-svg:nth-child(3n) .m-body { animation-delay: 1s; }
.mascot-row .mascot-svg:nth-child(4n) .m-body { animation-delay: 1.4s; }

@keyframes mascotFloat {
  0%, 100% { transform: translateY(0) rotate(-2.5deg); }
  50%      { transform: translateY(-9px) rotate(2.5deg); }
}
@keyframes mascotBlink {
  0%, 91%, 100% { transform: scaleY(1); }
  94%           { transform: scaleY(0.12); }
}
@media (prefers-reduced-motion: reduce) {
  .mascot-svg .m-body, .mascot-svg .m-eye { animation: none; }
}

/* ---------- تزئین ثابت گوشه‌ها (محو، غیرتعاملی) ---------- */
.mascot-corners { position: fixed; inset: 0; pointer-events: none; z-index: 40; }
.mascot-corner { position: absolute; opacity: 0.32; }
.mascot-corner .mascot-svg { width: 92px; height: 92px; }
.mascot-corner.m-1 { top: 76px; right: 10px; }
.mascot-corner.m-2 { bottom: 70px; right: 16px; transform: scale(0.85); }
.mascot-corner.m-3 { top: 100px; left: 12px; transform: scale(0.72); }
@media (max-width: 768px) {
  .mascot-corner { opacity: 0.2; }
  .mascot-corner .mascot-svg { width: 62px; height: 62px; }
}

/* ---------- دوستِ همراه با حباب گفتگو ---------- */
.mascot-buddy { display: flex; align-items: center; gap: 14px; margin: 6px 0 12px; }
.mascot-buddy .mascot-svg { width: 78px; height: 78px; flex: 0 0 auto; }
.mascot-bubble {
  background: var(--card);
  border: 2px solid var(--primary);
  color: var(--text);
  border-radius: 18px 18px 18px 4px;
  padding: 10px 16px;
  font-weight: 600; font-size: 14px; line-height: 1.8;
  box-shadow: var(--shadow-sm);
  animation: bubblePop 0.4s ease-out;
}
@keyframes bubblePop {
  from { opacity: 0; transform: translateY(6px) scale(0.92); }
  to   { opacity: 1; transform: none; }
}

@media print {
  .mascot-corners, .mascot-buddy, .mascot-row { display: none !important; }
}

/* ---------- استیکرهای هندسی قالب‌های کودکانه ---------- */
.sticker-field {
  position: fixed; inset: 0; z-index: 1;
  pointer-events: none; overflow: hidden;
}
.sticker { position: absolute; opacity: 0.22; }
.sticker-svg { width: 54px; height: 54px; display: block; filter: drop-shadow(0 2px 3px rgba(0,0,0,.10)); }
.sticker-svg * { transform-box: fill-box; transform-origin: center; }
.stk-1 { top: 12%; right: 4%; animation: stickerSpin 11s linear infinite; }
.stk-2 { top: 18%; left: 5%; animation: stickerFloat 6s ease-in-out infinite; }
.stk-3 { top: 58%; right: 6%; animation: stickerFloat 7.5s ease-in-out infinite 0.6s; }
.stk-4 { bottom: 16%; left: 7%; animation: stickerSpin 13s linear infinite reverse; }
.stk-5 { top: 44%; left: 3%; animation: stickerFloat 5.5s ease-in-out infinite 1.1s; }
.stk-6 { bottom: 26%; right: 3%; animation: stickerFloat 8s ease-in-out infinite 0.3s; }
.stk-7 { top: 6%; left: 46%; animation: stickerFloat 6.8s ease-in-out infinite 1.6s; }
.stk-8 { bottom: 6%; right: 42%; animation: stickerFloat 9s ease-in-out infinite 0.9s; }
.stk-7, .stk-8 { opacity: 0.14; }
.stk-7 .sticker-svg, .stk-8 .sticker-svg { width: 40px; height: 40px; }

@keyframes stickerFloat {
  0%, 100% { transform: translateY(0) rotate(-4deg); }
  50%      { transform: translateY(-14px) rotate(4deg); }
}
@keyframes stickerSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
@media (max-width: 768px) {
  .sticker { opacity: 0.16; }
  .sticker-svg { width: 40px; height: 40px; }
  .stk-7, .stk-8 { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .sticker { animation: none !important; }
}
@media print {
  .sticker-field { display: none !important; }
}
