/* Additions on top of the neex.com styles:
   MT4 / MT5 registration section (#open-account), header buttons and the always-visible bottom bar. */

.nx-acc { scroll-margin-top: 84px; }
@media (min-width: 1024px) { .nx-acc { scroll-margin-top: 120px; } }
.nx-acc__list { list-style: none; margin-bottom: 0; padding: 0; }

.nx-pf__body { display: block; }
.nx-pf__cta { display: block; width: fit-content; margin-top: 28px; }
@media (min-width: 1024px) {
  .nx-pf.nx-pf { padding-top: 44px; padding-bottom: 44px; }
}

.nx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer; }
.nx-btn__arrow { width: 20px; height: 20px; flex-shrink: 0; transition: transform .3s ease; }
[dir="rtl"] .nx-btn__arrow { transform: scaleX(-1); }
.nx-pf__cta:hover .nx-btn__arrow { transform: translateX(4px); }
[dir="rtl"] .nx-pf__cta:hover .nx-btn__arrow { transform: scaleX(-1) translateX(4px); }
.nx-cyan.nx-cyan { background-color: #00b4d8 !important; border-color: #00b4d8 !important; color: #fff !important; }
.nx-cyan.nx-cyan:hover { background-color: #0095b4 !important; border-color: #0095b4 !important; }

/* header language menu: invisible bridge over the gap between the label and the list,
   so moving the pointer down to the list keeps it open */
li[id="000700_head_lang"] > div.absolute::before {
  content: ""; position: absolute; left: 0; right: 0; top: -32px; height: 32px;
}
li[id="000700_head_lang"] > div.absolute a { display: block; }

/* scroll-reveal: hidden until site.js plays the animation */
.nx-pending { opacity: 0; }

/* ---------- MT4 / MT5 registration buttons (header, bottom bar, mobile menu) ---------- */
.nx-mt {
  position: relative; overflow: hidden; isolation: isolate;
  display: inline-flex; align-items: center; justify-content: space-between; gap: 12px;
  min-width: 0; height: 48px; padding-inline: 22px 6px;
  border-radius: 999px; color: #fff !important; text-decoration: none; white-space: nowrap;
  font: 700 15px/1.4 "Plus Jakarta Sans", Inter, Tahoma, sans-serif;
  transition: transform .2s ease, filter .25s ease;
}
[dir="rtl"] .nx-mt { font-family: Tahoma, Lato, Arial, sans-serif; }
.nx-mt:hover { transform: translateY(-1px); filter: brightness(1.08); }
.nx-mt:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.nx-mt--4 { background: linear-gradient(135deg, #9a63ff 0%, #7532ff 55%, #5a1fe6 100%); animation: nx-pulse4 2.4s ease-out infinite; }
.nx-mt--5 { background: linear-gradient(135deg, #2fd6f2 0%, #00b4d8 55%, #008fb0 100%); animation: nx-pulse5 2.4s ease-out 1.2s infinite; }
/* light sweep across the button */
.nx-mt::after {
  content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: -75%; width: 50%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .5), transparent);
  transform: skewX(-20deg);
  animation: nx-shine 3.6s ease-in-out infinite;
}
.nx-mt--5::after { animation-delay: 1.8s; }
/* line-height + block padding keep descenders (g, y, ی) from being clipped by overflow:hidden */
.nx-mt__label { overflow: hidden; text-overflow: ellipsis; line-height: 1.4; padding-block: 3px; }
.nx-mt__go {
  width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, .22);
  transition: transform .25s ease;
}
.nx-mt__go svg { width: 18px; height: 18px; }
[dir="rtl"] .nx-mt__go svg { transform: scaleX(-1); }
.nx-mt:hover .nx-mt__go { transform: translateX(3px); }
[dir="rtl"] .nx-mt:hover .nx-mt__go { transform: translateX(-3px); }

@keyframes nx-pulse4 {
  0% { box-shadow: 0 0 0 0 rgba(117, 50, 255, .6); }
  70% { box-shadow: 0 0 0 12px rgba(117, 50, 255, 0); }
  100% { box-shadow: 0 0 0 0 rgba(117, 50, 255, 0); }
}
@keyframes nx-pulse5 {
  0% { box-shadow: 0 0 0 0 rgba(0, 180, 216, .6); }
  70% { box-shadow: 0 0 0 12px rgba(0, 180, 216, 0); }
  100% { box-shadow: 0 0 0 0 rgba(0, 180, 216, 0); }
}
@keyframes nx-shine { 0% { left: -75%; } 55%, 100% { left: 130%; } }
@media (prefers-reduced-motion: reduce) { .nx-mt, .nx-mt::after { animation: none; } }

/* header (desktop, >= 1280px) */
.nx-hbtns { display: flex; align-items: center; gap: 14px; }
.nx-mt--h { height: 54px; padding-inline: 26px 7px; font-size: 16px; gap: 14px; }
.nx-mt--h .nx-mt__go { width: 40px; height: 40px; }

/* mobile menu (drawer) */
.nx-dbtns { flex-direction: column; flex-wrap: nowrap !important; gap: 12px !important; }
.nx-dbtns .nx-mt { width: 100%; height: 54px; font-size: 16px; }

/* bottom bar (< 1280px) */
.nx-dock {
  position: fixed; z-index: 45; left: 0; right: 0; bottom: 0;
  display: flex; justify-content: center; gap: 10px;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  border-radius: 18px 18px 0 0;
  background: rgba(17, 17, 20, .82);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  box-shadow: 0 -6px 24px rgba(0, 0, 0, .2), inset 0 1px 1px rgba(255, 255, 255, .22);
}
.nx-dock .nx-mt { flex: 1 1 0; max-width: 320px; height: 52px; }
@media (max-width: 1279px) {
  body { padding-bottom: 76px; }
  html [data-nx-top] { bottom: 92px !important; }
}
@media (min-width: 1280px) { .nx-dock { display: none; } }
@media (max-width: 400px) {
  .nx-dock { gap: 8px; padding-left: 8px; padding-right: 8px; }
  .nx-dock .nx-mt { gap: 6px; padding-inline: 12px 4px; font-size: 13px; }
  .nx-dock .nx-mt__go { width: 30px; height: 30px; }
}

/* ---------- Gold Compass SMC plugin: hero card, hero strip, mobile block ---------- */
.nx-gc-card {
  position: absolute; z-index: 5; inset-inline-end: 4%; top: 50%; transform: translateY(-50%);
  width: 290px; padding: 16px 16px 12px; text-align: start; color: #fff;
  border-radius: 18px; border: 1.5px solid rgba(227, 179, 65, .8);
  background: linear-gradient(160deg, rgba(74, 54, 16, .93) 0%, rgba(28, 21, 7, .94) 100%);
  box-shadow: inset 0 0 0 1px rgba(255, 220, 130, .12), 0 22px 60px rgba(0, 0, 0, .45), 0 0 46px rgba(227, 179, 65, .28);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  font-family: "Plus Jakarta Sans", Inter, Tahoma, sans-serif;
}
[dir="rtl"] .nx-gc-card, [dir="rtl"] .nx-gc-strip, [dir="rtl"] .nx-gc-mobile { font-family: Tahoma, Lato, Arial, sans-serif; }
.nx-gc-eyebrow { display: block; color: #f5cf6b; font-weight: 800; font-size: 17px; letter-spacing: .02em; text-transform: uppercase; line-height: 1.2; }
.nx-gc-title { margin: 2px 0 0; font-size: 21px; font-weight: 800; line-height: 1.2; color: #fff; }
.nx-gc-title small { display: block; font-size: 16px; font-weight: 700; color: #f3e6c4; margin-top: 2px; }
.nx-gc-art { display: block; width: 64px; height: 64px; flex-shrink: 0; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px rgba(227, 179, 65, .55), 0 8px 22px rgba(0, 0, 0, .5), 0 0 22px rgba(227, 179, 65, .3); }
/* compact card: logo next to the title */
.nx-gc-card__head { display: flex; align-items: center; gap: 12px; margin: 10px 0 12px; }
.nx-gc-card .nx-gc-eyebrow { font-size: 14px; }
.nx-gc-card .nx-gc-title { margin: 0; font-size: 18px; }
.nx-gc-card .nx-gc-title small { font-size: 13.5px; }
.nx-gc-btn {
  position: relative; overflow: hidden; isolation: isolate;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 42px; padding: 6px 18px; border-radius: 999px; text-decoration: none; text-align: center;
  font: 800 13px/1.25 "Plus Jakarta Sans", Inter, Tahoma, sans-serif; letter-spacing: .02em; text-transform: uppercase;
  transition: transform .2s ease, filter .25s ease;
}
[dir="rtl"] .nx-gc-btn { font-family: Tahoma, Lato, Arial, sans-serif; letter-spacing: 0; }
.nx-gc-btn:hover { transform: translateY(-1px); filter: brightness(1.07); }
.nx-gc-btn small { display: block; font-size: 11px; font-weight: 700; opacity: .9; }
.nx-gc-btn--gold { color: #2a1d05 !important; background: linear-gradient(180deg, #f9dc86 0%, #e3b341 55%, #c99325 100%); box-shadow: 0 6px 18px rgba(227, 179, 65, .35); }
.nx-gc-btn--teal { color: #fff !important; background: linear-gradient(180deg, #3aa9a2 0%, #22807a 100%); box-shadow: 0 6px 18px rgba(34, 128, 122, .35); }
.nx-gc-btn::after {
  content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: -80%; width: 50%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent);
  transform: skewX(-20deg); animation: nx-shine 4s ease-in-out infinite;
}
.nx-gc-btn--teal::after { animation-delay: 2s; }
.nx-gc-btn svg { width: 16px; height: 16px; flex-shrink: 0; }
[dir="rtl"] .nx-gc-btn svg { transform: scaleX(-1); }
.nx-gc-card .nx-gc-btn { width: 100%; min-height: 40px; padding: 6px 12px; font-size: 12.5px; white-space: nowrap; }
.nx-gc-v { text-transform: none; }
.nx-gc-meta { margin: 10px 0 0; text-align: center; color: #e9d9a8; font-size: 12px; line-height: 1.5; }
.nx-gc-meta b { display: block; color: #fff; font-size: 13px; }
.nx-gc-card .nx-gc-meta { margin-top: 8px; font-size: 11.5px; }
@media (max-width: 1023px) { .nx-gc-card { display: none; } }
@media (min-width: 1024px) and (max-width: 1279px) {
  .nx-gc-card { width: 250px; inset-inline-end: 3%; }
  .nx-gc-card .nx-gc-art { width: 52px; height: 52px; }
  .nx-gc-card .nx-gc-title { font-size: 16px; }
}
/* desktop: keep the slide text clear of the card (it is centred in the remaining space) */
@media (min-width: 1024px) {
  [data-hero-slide] > div {
    max-width: none !important; margin: 0 !important;
    padding-inline-start: 4% !important; padding-inline-end: calc(4% + 290px + 36px) !important;
  }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  [data-hero-slide] > div { padding-inline-start: 3% !important; padding-inline-end: calc(3% + 250px + 28px) !important; }
}

/* white strip at the bottom of the hero */
.nx-gc-strip { position: relative; z-index: 4; background: rgba(255, 255, 255, .97); box-shadow: 0 10px 30px rgba(0, 0, 0, .22); }
.nx-gc-strip__in { max-width: 1240px; margin: 0 auto; padding: 9px 20px; display: flex; align-items: center; justify-content: center; gap: 16px; }
.nx-gc-strip__logo { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex-shrink: 0; box-shadow: 0 0 0 2px #e3b341; }
.nx-gc-strip__text { display: flex; flex-direction: column; line-height: 1.2; margin-inline-end: 8px; }
.nx-gc-strip__text span { color: #b8862a; font-weight: 800; font-size: 14px; text-transform: uppercase; letter-spacing: .02em; }
.nx-gc-strip__text b { color: #111114; font-weight: 800; font-size: 18px; }
.nx-gc-strip .nx-gc-btn { min-height: 46px; padding: 6px 24px; }
.nx-gc-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 10px; background: #ececef; color: #33333a !important; text-decoration: none; font-size: 13px; white-space: nowrap; }
.nx-gc-chip svg { width: 16px; height: 16px; color: #229ed9; }
.nx-gc-chip:hover { background: #e2e2e8; }
.nx-gc-strip + ul { margin-top: 18px !important; }
@media (max-width: 767px) { .nx-gc-strip { display: none; } }
@media (min-width: 768px) and (max-width: 1100px) {
  .nx-gc-strip__in { flex-wrap: wrap; gap: 10px 14px; }
  .nx-gc-strip__text b { font-size: 16px; }
}

/* phones: a block right under the hero */
.nx-gc-mobile { display: none; padding: 24px 20px 0; }
.nx-gc-mobile__box {
  padding: 20px; border-radius: 18px; color: #fff; text-align: center;
  border: 1.5px solid rgba(227, 179, 65, .8);
  background: linear-gradient(160deg, #4a3610 0%, #1c1507 100%);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .25), 0 0 30px rgba(227, 179, 65, .22);
}
.nx-gc-mobile__head { display: flex; align-items: center; gap: 14px; text-align: start; margin-bottom: 16px; }
.nx-gc-mobile__head img { width: 64px; height: 64px; border-radius: 50%; flex-shrink: 0; box-shadow: 0 0 0 2px #e3b341; }
.nx-gc-mobile .nx-gc-title { font-size: 19px; }
.nx-gc-mobile__btns { display: grid; gap: 10px; }
.nx-gc-mobile .nx-gc-btn { width: 100%; min-height: 48px; }
.nx-gc-mobile .nx-gc-chip { margin-top: 12px; }
@media (max-width: 767px) { .nx-gc-mobile { display: block; } }
@media (prefers-reduced-motion: reduce) { .nx-gc-btn::after { animation: none; } }
/* ---------- online support (Telegram) ---------- */
.nx-support {
  position: fixed; z-index: 44; inset-inline-end: 0; bottom: 156px;
  display: flex; align-items: center; gap: 0;
  height: 64px; padding-inline: 12px 14px;
  border-start-start-radius: 38px; border-end-start-radius: 38px;
  background: linear-gradient(135deg, #3fc1ff 0%, #229ed9 55%, #1787bd 100%);
  color: #fff !important; text-decoration: none;
  font-family: "Plus Jakarta Sans", Inter, Tahoma, sans-serif;
  box-shadow: 0 10px 28px rgba(34, 158, 217, .45);
  animation: nx-tg-pulse 2.6s ease-out infinite;
  transition: gap .3s ease, filter .25s ease;
}
[dir="rtl"] .nx-support { font-family: Tahoma, Lato, Arial, sans-serif; }
.nx-support__icon {
  position: relative; flex-shrink: 0; display: grid; place-items: center;
  width: 40px; height: 40px; border-radius: 50%; background: #fff; color: #229ed9;
}
.nx-support__icon svg { width: 22px; height: 22px; margin-inline-start: -2px; }
.nx-support__icon::after { /* "online" dot */
  content: ""; position: absolute; top: -1px; inset-inline-end: -1px;
  width: 12px; height: 12px; border-radius: 50%; background: #22c55e; border: 2px solid #fff;
}
.nx-support__label { display: flex; flex-direction: column; max-width: 0; overflow: hidden; white-space: nowrap; line-height: 1.2; transition: max-width .35s ease; }
.nx-support__label b { font-size: 15px; font-weight: 800; }
.nx-support__label small { font-size: 12px; opacity: .9; }
.nx-support:hover, .nx-support:focus-visible { gap: 10px; filter: brightness(1.05); }
.nx-support:hover .nx-support__label, .nx-support:focus-visible .nx-support__label { max-width: 240px; }
.nx-support:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
@keyframes nx-tg-pulse {
  0% { box-shadow: 0 10px 28px rgba(34, 158, 217, .45), 0 0 0 0 rgba(34, 158, 217, .55); }
  70% { box-shadow: 0 10px 28px rgba(34, 158, 217, .45), 0 0 0 14px rgba(34, 158, 217, 0); }
  100% { box-shadow: 0 10px 28px rgba(34, 158, 217, .45), 0 0 0 0 rgba(34, 158, 217, 0); }
}
@media (prefers-reduced-motion: reduce) { .nx-support { animation: none; } }
/* tablets: above the raised back-to-top button */
@media (max-width: 1279px) { .nx-support { bottom: 168px; } }
/* phones: round button above the back-to-top button */
@media (max-width: 767px) {
  .nx-support { inset-inline-end: 16px; bottom: 152px; width: 58px; height: 58px; padding: 0; justify-content: center; border-radius: 50%; }
  .nx-support__label { display: none; }
}