/* ============================================================
   สายลุยตัวจริง — 3D WOW UPGRADE
   ============================================================ */
#topTravelersPodium .podium-row{
  perspective:900px;
  padding-top:58px;
}
#topTravelersPodium .podium-1st::before{
  content:"";
  position:absolute;
  z-index:-2;
  left:50%;top:-38px;
  width:145px;height:190px;
  transform:translateX(-50%);
  background:
    radial-gradient(ellipse at 50% 33%,rgba(255,222,112,.28),transparent 38%),
    conic-gradient(from 335deg at 50% 18%,
      transparent 0 7%,rgba(255,223,116,.10) 8% 12%,
      transparent 13% 26%,rgba(255,223,116,.08) 27% 31%,
      transparent 32% 100%);
  animation:tnhChampionSpotlight 3.4s ease-in-out infinite;
  pointer-events:none;
}
@keyframes tnhChampionSpotlight{
  0%,100%{opacity:.48;transform:translateX(-50%) scale(.94)}
  50%{opacity:1;transform:translateX(-50%) scale(1.08)}
}
.tnh-champion-halo{
  position:absolute;
  z-index:-1;
  left:50%;top:50%;
  width:126px;height:126px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:repeating-conic-gradient(
    from 0deg,rgba(255,218,94,.78) 0 2deg,transparent 2deg 13deg);
  -webkit-mask:radial-gradient(circle,transparent 0 55%,#000 57% 61%,transparent 63%);
  mask:radial-gradient(circle,transparent 0 55%,#000 57% 61%,transparent 63%);
  opacity:.48;
  animation:tnhChampionHaloSpin 12s linear infinite;
}
@keyframes tnhChampionHaloSpin{
  to{transform:translate(-50%,-50%) rotate(360deg)}
}

/* มงกุฎ SVG ทอง */
.tnh-rank-crown{
  top:-39px !important;
  width:54px;height:43px;
  display:block;
  font-size:0 !important;
  filter:drop-shadow(0 5px 3px rgba(0,0,0,.46))
         drop-shadow(0 0 10px rgba(255,205,67,.48));
}
.tnh-rank-crown svg{width:100%;height:100%;overflow:visible}
.tnh-rank-crown::after{width:6px;height:6px;right:5px;top:6px}
.tnh-crown-gem{
  animation:tnhCrownGem 1.8s ease-in-out infinite;
  transform-origin:center;
}
@keyframes tnhCrownGem{
  0%,100%{opacity:.65}
  45%{opacity:1;filter:drop-shadow(0 0 4px #fff)}
}

/* วงแหวนอันดับ 1 */
#topTravelersPodium .podium-1st .podium-avatar{
  border-width:3px;background:#08141d;
}
#topTravelersPodium .podium-1st .podium-avatar::before{
  inset:-8px;
  border:2px solid rgba(255,216,94,.46);
  box-shadow:0 0 0 3px rgba(255,216,94,.035),0 0 22px rgba(255,203,56,.34);
}
#topTravelersPodium .podium-1st .podium-avatar::after{
  inset:-14px;border:1px dashed rgba(255,222,113,.30);
}

/* แท่น 3D */
#topTravelersPodium .podium-stand{
  overflow:hidden;
  transform-style:preserve-3d;
  border-radius:11px 11px 3px 3px;
  border:1px solid rgba(255,255,255,.16);
  text-shadow:0 1px 0 rgba(255,255,255,.24),0 2px 5px rgba(0,0,0,.18);
}
#topTravelersPodium .podium-stand::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:10px;
  transform:none;
  border-radius:0;
  filter:brightness(.58);
  box-shadow:none;
  opacity:.20;
  pointer-events:none;
}
#topTravelersPodium .podium-1st .podium-stand{
  height:84px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.20),transparent 17% 80%,rgba(88,56,0,.14)),
    linear-gradient(180deg,#ffe99a 0%,#e9bd3d 43%,#b57b08 100%);
  border-color:rgba(255,229,139,.52);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.56),
             inset 0 -10px 18px rgba(112,70,0,.18),
             0 -7px 25px rgba(255,205,54,.14),
             0 13px 18px rgba(0,0,0,.23);
}
#topTravelersPodium .podium-1st .podium-stand::after{background:#8e610b}
#topTravelersPodium .podium-2nd .podium-stand{
  height:58px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.28),transparent 18% 80%,rgba(56,70,85,.15)),
    linear-gradient(180deg,#edf3f8,#b9c7d5 48%,#77889b);
  border-color:rgba(225,235,245,.40);
}
#topTravelersPodium .podium-2nd .podium-stand::after{background:#687889}
#topTravelersPodium .podium-3rd .podium-stand{
  height:47px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.22),transparent 18% 80%,rgba(83,40,12,.16)),
    linear-gradient(180deg,#efbd89,#c47c43 48%,#8f4d24);
  border-color:rgba(238,183,128,.38);
}
#topTravelersPodium .podium-3rd .podium-stand::after{background:#77401f}
#topTravelersPodium .podium-stand::before{
  content:"";
  position:absolute;
  z-index:2;
  top:-20%;
  bottom:-20%;
  left:-40%;
  width:30%;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,.08) 18%,
    rgba(255,255,255,.42) 50%,
    rgba(255,255,255,.08) 82%,
    transparent 100%
  );
  transform:skewX(-18deg) translateX(0);
  animation:tnhPodiumSweepContained 4.2s ease-in-out infinite;
  pointer-events:none;
  will-change:transform,opacity;
}
@keyframes tnhPodiumSweepContained{
  0%,58%{
    transform:skewX(-18deg) translateX(0);
    opacity:0;
  }
  66%{
    opacity:.65;
  }
  100%{
    transform:skewX(-18deg) translateX(520%);
    opacity:0;
  }
}

/* Winner impact */
#topTravelersPodium .podium-1st{
  animation-name:tnhChampionWinnerEnter;
  animation-duration:.82s;
}
@keyframes tnhChampionWinnerEnter{
  0%{opacity:0;transform:translateY(34px) scale(.78)}
  58%{opacity:1;transform:translateY(-9px) scale(1.08)}
  78%{transform:translateY(3px) scale(.98)}
  100%{opacity:1;transform:none}
}
.tnh-champion-stage-light{
  position:absolute;
  z-index:1;
  left:9%;right:9%;bottom:11px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,213,82,.55),transparent);
  box-shadow:0 0 12px rgba(255,207,58,.34);
  animation:tnhStageLight 2.8s ease-in-out infinite;
  pointer-events:none;
}
@keyframes tnhStageLight{
  0%,100%{opacity:.25;transform:scaleX(.75)}
  50%{opacity:.9;transform:scaleX(1)}
}
.tnh-champion-foot{
  border-color:rgba(125,211,252,.10);
}
.tnh-champion-foot-ico{
  background:rgba(56,189,248,.055);
  border-color:rgba(125,211,252,.13);
}
.tnh-champion-foot strong{color:#e7f5ff;font-size:10px}

@media(max-width:380px){
  .tnh-rank-crown{width:48px;height:39px;top:-36px !important}
  .tnh-champion-halo{width:115px;height:115px}
}


/* จำกัดแสงวาบให้อยู่ภายในแท่นเท่านั้น */
#topTravelersPodium .podium-stand{
  contain:paint;
}
#topTravelersPodium .podium-stand::before{
  mix-blend-mode:screen;
}

