/* --- Language dropdown --- */
.lang-dropdown{position:relative;display:flex;align-items:center;}
.lang-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:110px;background:#fff;border-radius:10px;padding:8px;box-shadow:0 10px 30px rgba(0,0,0,.12);display:none;z-index:9999;flex-direction:column;gap:6px;}
.lang-dropdown.is-open .lang-menu{display:flex;}
.lang-item{font-size:12px;line-height:1.2;text-decoration:none;opacity:.85;padding:6px 8px;border-radius:8px;color:inherit;}
.lang-item:hover{opacity:1;background:rgba(0,0,0,.05);}
.lang-item.is-active{opacity:1;font-weight:700;}

/* Remove underline on CTA links (Get started) */
a.button-wrapper, a.button-wrapper:hover, a.button-wrapper:focus, a.button-wrapper:active{
  text-decoration:none !important;
  color:inherit;
}
a.button-wrapper *{ text-decoration:none !important; }

/* Lottie container size fix */
.app-div{position:relative;}
.lottie-animation-2{width:100%;height:100%;position:absolute;inset:0;}

/* Auth modal tabs */
.auth-tab-row{display:flex;gap:14px;margin:10px 0 16px;}
.auth-tab{appearance:none;border:0;background:transparent;padding:0;font:inherit;font-weight:700;cursor:pointer;opacity:.55;}
.auth-tab.is-active{opacity:1;}
.auth-panel[hidden]{display:none !important;}
.auth-msg{margin-top:10px;font-family:Dmmono, sans-serif;font-size:14px;line-height:1.35;}
.auth-msg.error{color:#d14343;}
.auth-msg.info{color:#2e6b3d;}
.auth-link{display:inline-block;margin-top:10px;font-family:Dmmono, sans-serif;font-size:14px;text-decoration:none;}
.auth-link:hover{text-decoration:underline;}

/* Make navbar login look like a button/link but without underline */
.nav-login{text-decoration:none;display:flex;align-items:center;gap:8px;cursor:pointer;}
.nav-login:hover{ text-decoration:none; }

.coursor-wrapper {pointer-events: none;}

@keyframes slideup {
  from {opacity: 0; transform: translateY(100%);}
  to {opacity: 1; transform: translateY(0%);}
}
@keyframes scaleup {
  from {opacity: 0; transform: scale(0.5);}
  to {opacity: 1; transform: scale(1);}
}
@keyframes loop-spin {
  to {transform: rotate(360deg);}
}
@keyframes loop-move-left {
  to {transform: translateX(-100%);}
}
/* pause child animations on hover */
[data-hover-pause] * {animation-play-state: running;}
[data-hover-pause]:hover * {animation-play-state: paused;}
/* play child animations on hover */
[data-hover-play] * {animation-play-state: paused;}
[data-hover-play]:hover * {animation-play-state: running;}
/* stagger */
:root {--i: 0}
[data-stagger-list] > *:nth-child(1) {--i: 0}
[data-stagger-list] > *:nth-child(2) {--i: 1}
[data-stagger-list] > *:nth-child(3) {--i: 2}
[data-stagger-list] > *:nth-child(4) {--i: 3}
[data-stagger-list] > *:nth-child(5) {--i: 4}
[data-stagger-list] > *:nth-child(6) {--i: 5}
[data-stagger-list] > *:nth-child(7) {--i: 6}
[data-stagger-list] > *:nth-child(8) {--i: 7}
[data-stagger-list] > *:nth-child(9) {--i: 8}
[data-stagger-list] > *:nth-child(10) {--i: 9}
[data-stagger-list] > *:nth-child(11) {--i: 10}
[data-stagger-list] > *:nth-child(12) {--i: 11}
[data-stagger-list] > *:nth-child(13) {--i: 12}
[data-stagger-list] > *:nth-child(14) {--i: 13}
[data-stagger-list] > *:nth-child(15) {--i: 14}
[data-stagger-list] > *:nth-child(16) {--i: 15}
[data-stagger-list] > *:nth-child(17) {--i: 16}
[data-stagger-list] > *:nth-child(18) {--i: 17}
[data-stagger-list] > *:nth-child(19) {--i: 18}
[data-stagger-list] > *:nth-child(20) {--i: 19}
[data-stagger-list] > *:nth-child(21) {--i: 20}
[data-stagger-list] > *:nth-child(22) {--i: 21}
[data-stagger-list] > *:nth-child(23) {--i: 22}
[data-stagger-list] > *:nth-child(24) {--i: 23}
[data-stagger-list] > *:nth-child(25) {--i: 24}
[data-stagger-list] > *:nth-child(26) {--i: 25}
[data-stagger-list] > *:nth-child(27) {--i: 26}
[data-stagger-list] > *:nth-child(28) {--i: 27}
[data-stagger-list] > *:nth-child(29) {--i: 29}
[data-stagger-list] > *:nth-child(30) {--i: 29}
[data-stagger-list] > *:nth-child(31) {--i: 30}
[data-stagger-list] > *:nth-child(32) {--i: 31}
[data-stagger-list] > *:nth-child(33) {--i: 32}
[data-stagger-list] > *:nth-child(34) {--i: 33}
[data-stagger-list] > *:nth-child(35) {--i: 34}
[data-stagger-list] > *:nth-child(36) {--i: 35}
[data-stagger-list] > *:nth-child(37) {--i: 36}
[data-stagger-list] > *:nth-child(38) {--i: 37}
[data-stagger-list] > *:nth-child(39) {--i: 38}
[data-stagger-list] > *:nth-child(40) {--i: 39}
[data-stagger-list] > *:nth-child(41) {--i: 40}
[data-stagger-list] > *:nth-child(42) {--i: 41}
[data-stagger-list] > *:nth-child(43) {--i: 42}
[data-stagger-list] > *:nth-child(44) {--i: 43}
[data-stagger-list] > *:nth-child(45) {--i: 44}
[data-stagger-list] > *:nth-child(46) {--i: 45}
[data-stagger-list] > *:nth-child(47) {--i: 46}
[data-stagger-list] > *:nth-child(48) {--i: 47}
[data-stagger-list] > *:nth-child(49) {--i: 48}
[data-stagger-list] > *:nth-child(50) {--i: 49}
/* Example scroll-driven animation */
@keyframes slidein {
  from { transform: translateX(-100%); }
  to { transform: translateX(0%); }
}
@keyframes fadein {
  from { opacity: 0; }
  to { opacity: 1; }
}
/* Base class for scroll-driven animations */
.scroll-animation {
  opacity: 0; /* Initially hidden */
  transform: translateY(50px); /* Start from below */
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
/* Animation presets */
.scroll-animation.slidein {
  animation: slidein 1s forwards;
}
.scroll-animation.fadein {
  animation: fadein 1s forwards;
}

/* --- page data holder --- */
#page-data{display:none!important}

/* --- prevent body scroll when modal open --- */
body.no-scroll{position:fixed;left:0;right:0;top:0;width:100%;overflow:hidden}

/* --- ensure dropdowns are not clipped --- */
.w-nav, .navbar, .navbar-right-wrapper{overflow:visible}
.lang-menu{z-index:99999}
