/* Compact country flag with an unobtrusive hover/focus label. */
.lvt-country-chip{
  position:relative!important;
  overflow:visible!important;
  cursor:default!important;
  isolation:isolate;
  transform-origin:center;
  transition:transform .18s cubic-bezier(.2,.8,.2,1),border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
}

.lvt-country-chip:hover,
.lvt-country-chip:focus-visible{
  z-index:30;
  transform:translateY(-2px) scale(1.035)!important;
  border-color:rgba(78,193,255,.5)!important;
  background:linear-gradient(145deg,rgba(14,43,58,.98),rgba(5,20,30,.99))!important;
  box-shadow:0 8px 20px rgba(0,0,0,.24),0 0 18px rgba(45,157,255,.14)!important;
  outline:none;
}

/* Visible country name. It opens below the icon row so it does not cover the player name. */
.lvt-country-chip::after{
  content:attr(data-country-tooltip);
  position:absolute;
  top:calc(100% + 10px);
  left:50%;
  z-index:100;
  min-width:max-content;
  max-width:190px;
  padding:7px 10px;
  border:1px solid rgba(82,190,239,.24);
  border-radius:8px;
  background:linear-gradient(145deg,rgba(7,27,39,.98),rgba(3,15,24,.99));
  color:#e9f9ff;
  box-shadow:0 10px 28px rgba(0,0,0,.34),0 0 18px rgba(28,143,226,.08);
  font:800 9px/1.25 system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:.015em;
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,-5px) scale(.96);
  transform-origin:50% 0;
  transition:opacity .14s ease,visibility .14s ease,transform .18s cubic-bezier(.2,.8,.2,1);
}
.lvt-country-chip::before{
  content:"";
  position:absolute;
  top:calc(100% + 5px);
  left:50%;
  z-index:101;
  width:8px;
  height:8px;
  border-left:1px solid rgba(82,190,239,.24);
  border-top:1px solid rgba(82,190,239,.24);
  background:#071b27;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translateX(-50%) rotate(45deg);
  transition:opacity .14s ease,visibility .14s ease;
}
.lvt-country-chip:hover::after,
.lvt-country-chip:focus-visible::after{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0) scale(1);
}
.lvt-country-chip:hover::before,
.lvt-country-chip:focus-visible::before{
  opacity:1;
  visibility:visible;
}

/* The flag gets a small physical wave instead of sitting completely static. */
.lvt-country-chip .lvt-country-flag{
  transform-origin:22% 50%;
  will-change:transform,filter;
  transition:filter .18s ease,transform .18s ease;
}
.lvt-country-chip:hover .lvt-country-flag,
.lvt-country-chip:focus-visible .lvt-country-flag{
  animation:lvt-country-flag-wave .62s cubic-bezier(.2,.75,.25,1) both;
  filter:drop-shadow(0 2px 5px rgba(43,164,255,.34));
}

/* Verified check has a restrained idle pulse and reacts more strongly on hover. */
.lvt-country-chip.verified i{
  animation:lvt-country-check-pulse 3.2s ease-in-out infinite;
  transform-origin:center;
}
.lvt-country-chip.verified:hover i,
.lvt-country-chip.verified:focus-visible i{
  animation:lvt-country-check-pop .42s cubic-bezier(.18,.89,.32,1.35) both;
}

@keyframes lvt-country-flag-wave{
  0%{transform:perspective(60px) rotateY(0deg) rotateZ(0deg) scale(1)}
  24%{transform:perspective(60px) rotateY(-18deg) rotateZ(-4deg) scale(1.08)}
  48%{transform:perspective(60px) rotateY(14deg) rotateZ(3deg) scale(1.05)}
  72%{transform:perspective(60px) rotateY(-8deg) rotateZ(-2deg) scale(1.035)}
  100%{transform:perspective(60px) rotateY(0deg) rotateZ(0deg) scale(1.03)}
}
@keyframes lvt-country-check-pulse{
  0%,72%,100%{transform:scale(1);box-shadow:0 0 0 1px rgba(76,196,255,.22),0 2px 8px rgba(28,132,255,.42),0 0 10px rgba(52,180,255,.18)}
  82%{transform:scale(1.1);box-shadow:0 0 0 2px rgba(76,196,255,.16),0 2px 10px rgba(28,132,255,.52),0 0 17px rgba(52,180,255,.38)}
  90%{transform:scale(1)}
}
@keyframes lvt-country-check-pop{
  0%{transform:scale(1)}
  55%{transform:scale(1.22) rotate(-6deg)}
  100%{transform:scale(1.08)}
}

.lvt-country-popover{display:none!important}

@media(max-width:620px){
  .lvt-country-chip::after{font-size:8px;max-width:160px}
}
@media(prefers-reduced-motion:reduce){
  .lvt-country-chip,.lvt-country-chip .lvt-country-flag{transition:none!important}
  .lvt-country-chip:hover,.lvt-country-chip:focus-visible{transform:none!important}
  .lvt-country-chip .lvt-country-flag,.lvt-country-chip.verified i{animation:none!important}
}


/* Match country identity motion/alignment to the social buttons. */
.lvt-country-chip{
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  padding:0!important;
  border-radius:9px!important;
  gap:0!important;
}
.lvt-country-chip:hover,.lvt-country-chip:focus-visible{
  transform:translateY(-2px) scale(1.055)!important;
}
.lvt-country-chip .lvt-country-flag{
  width:18px!important;
  height:18px!important;
  margin:0!important;
  transform-origin:center!important;
}
.lvt-country-chip:hover .lvt-country-flag,
.lvt-country-chip:focus-visible .lvt-country-flag{
  animation:lvt-service-icon-float .56s cubic-bezier(.2,.75,.25,1) both!important;
}
.lvt-country-chip.verified i{
  position:absolute!important;
  right:-5px!important;
  bottom:-5px!important;
  width:14px!important;
  height:14px!important;
  margin:0!important;
  border:2px solid #071018!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  z-index:3;
}
