/* Loading effects only for van seat blocks A/B/C */
@property --tnh-run-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
#bookingPage2 .van-block.tnh-seat-fetching { position: relative; isolation: isolate; border-radius: 20px; }
#bookingPage2 .van-block.tnh-seat-fetching::before {
  content: ''; position: absolute; inset: -3px; z-index: 1; pointer-events: none;
  border-radius: 22px; padding: 2px;
  background: conic-gradient(from var(--tnh-run-angle), transparent 0deg 230deg, rgba(18,196,229,.04) 265deg, #18dce5 305deg, #4cf1ae 328deg, transparent 355deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  filter: drop-shadow(0 0 7px rgba(33,230,206,.6));
  animation: tnhBorderRun 1.65s linear infinite;
}
#bookingPage2 .van-block.tnh-seat-fetching::after {
  content: ''; position: absolute; inset: -1px; z-index: 0; border-radius: 20px;
  box-shadow: 0 0 17px rgba(31,210,223,.16), inset 0 0 12px rgba(31,210,223,.08);
  pointer-events: none; animation: tnhGlowBreath 2.3s ease-in-out infinite;
}
#bookingPage2 .tnh-seat-loading-row { min-height: 58px !important; height: auto !important; display:flex !important; align-items:center !important; justify-content:center !important; gap:10px !important; padding:14px 10px; font-size:13px !important; color:#8dece9 !important; }
#bookingPage2 .tnh-seat-spinner { width:19px; height:19px; flex:0 0 19px; box-sizing:border-box; display:inline-block; border:2px solid rgba(116,241,232,.20); border-top-color:#68f1bb; border-right-color:#2cd7ef; border-radius:50%; box-shadow:0 0 12px rgba(34,224,217,.35); animation:tnhSpinnerTurn .78s linear infinite; }
@keyframes tnhBorderRun { to { --tnh-run-angle: 360deg; } }
@keyframes tnhSpinnerTurn {to{transform:rotate(360deg)}}
@keyframes tnhGlowBreath {50%{opacity:.4}}
@media(prefers-reduced-motion:reduce){#bookingPage2 .van-block.tnh-seat-fetching::before,#bookingPage2 .van-block.tnh-seat-fetching::after,#bookingPage2 .tnh-seat-spinner{animation:none}}
