/* Animatsion SVG ikonkalar (emoji o'rniga) */
.ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.15em;
  height: 1.15em;
  vertical-align: -0.2em;
  margin: 0 0.18em;
  line-height: 1;
  flex-shrink: 0;
  transform-origin: 50% 60%;
}
.ico:first-child { margin-left: 0; }
.ico svg { width: 100%; height: 100%; overflow: visible; }
.ico-flag { width: 1.4em; height: 1.4em; margin-right: 0.3em; }
.ico-flag svg { filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .35)); }

/* Katta ikonka sifatida ishlatilganda (kartochka belgilari) */
.ico-big { width: 2.2rem; height: 2.2rem; }

@keyframes ico-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes ico-bounce { 0%, 100% { transform: translateY(0); } 40% { transform: translateY(-3px); } 60% { transform: translateY(0); } 75% { transform: translateY(-1px); } }
@keyframes ico-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.14); } }
@keyframes ico-spin { to { transform: rotate(360deg); } }
@keyframes ico-sway { 0%, 100% { transform: rotate(-8deg); } 50% { transform: rotate(8deg); } }
@keyframes ico-wiggle { 0%, 70%, 100% { transform: rotate(0); } 75% { transform: rotate(-14deg); } 85% { transform: rotate(12deg); } 95% { transform: rotate(-6deg); } }
@keyframes ico-ring { 0%, 60%, 100% { transform: rotate(0); } 65% { transform: rotate(-16deg); } 72% { transform: rotate(14deg); } 79% { transform: rotate(-10deg); } 86% { transform: rotate(8deg); } }
@keyframes ico-twinkle { 0%, 100% { transform: scale(1) rotate(0); opacity: 1; } 50% { transform: scale(1.18) rotate(14deg); opacity: .8; } }
@keyframes ico-flicker { 0%, 100% { transform: scale(1, 1) rotate(0); } 25% { transform: scale(.93, 1.08) rotate(-3deg); } 50% { transform: scale(1.05, .95) rotate(2deg); } 75% { transform: scale(.96, 1.06) rotate(-2deg); } }
@keyframes ico-fly { 0%, 100% { transform: translate(-1px, 1px) rotate(0); } 50% { transform: translate(2px, -2px) rotate(-4deg); } }
@keyframes ico-drive { 0%, 100% { transform: translateX(-1.5px); } 50% { transform: translateX(1.5px); } }
@keyframes ico-flip { 0%, 40% { transform: rotate(0); } 60%, 100% { transform: rotate(180deg); } }
@keyframes ico-blink { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .45; transform: scale(.8); } }
@keyframes ico-pop { 0% { transform: scale(.6); } 60% { transform: scale(1.18); } 100% { transform: scale(1); } }
@keyframes ico-draw { from { stroke-dasharray: 24; stroke-dashoffset: 24; } to { stroke-dasharray: 24; stroke-dashoffset: 0; } }

.ico-float { animation: ico-float 3s ease-in-out infinite; }
.ico-bounce { animation: ico-bounce 2.2s ease-in-out infinite; }
.ico-pulse { animation: ico-pulse 2.4s ease-in-out infinite; }
.ico-spin { animation: ico-spin 9s linear infinite; }
.ico-sway { animation: ico-sway 3.4s ease-in-out infinite; }
.ico-wiggle { animation: ico-wiggle 3.6s ease-in-out infinite; }
.ico-ring { animation: ico-ring 3.2s ease-in-out infinite; }
.ico-twinkle { animation: ico-twinkle 2.2s ease-in-out infinite; }
.ico-flicker { animation: ico-flicker 1.4s ease-in-out infinite; }
.ico-fly { animation: ico-fly 2.8s ease-in-out infinite; }
.ico-drive { animation: ico-drive 1.6s ease-in-out infinite; }
.ico-flip { animation: ico-flip 3.2s ease-in-out infinite; }
.ico-blink { animation: ico-blink 1.8s ease-in-out infinite; }
.ico-pop { animation: ico-pop .5s ease-out 1; }
.ico-draw svg path { animation: ico-draw .6s ease-out 1; }

/* Harakatsiz ikonkalar tugma ustiga olib borilganda jonlanadi */
.ico-idle { transition: transform .2s ease; }
a:hover > .ico-idle, button:hover > .ico-idle, label:hover > .ico-idle, .btn:hover .ico-idle { animation: ico-wiggle .7s ease-in-out 1; }
a:hover > .ico, button:hover > .ico, .btn:hover .ico { filter: brightness(1.15); }

/* Tugma ichida ikonka va matn orasi */
.btn .ico, button .ico { margin-right: .35em; }
.btn .ico:last-child, button .ico:last-child { margin-right: 0; }

@media (prefers-reduced-motion: reduce) {
  .ico, .ico * { animation: none !important; }
}
