/* =========================================================
   EXCOINCASH NEXA — App Layer
   Mobile = native-app shell. Desktop = refined premium polish.
   Presentation only. No logic, no markup assumptions.
   ========================================================= */

:root{
  --nx-tabbar-h:66px;
  --nx-ease:cubic-bezier(.22,.61,.36,1);
  --nx-safe-b:env(safe-area-inset-bottom,0px);
}

/* ===================== GLOBAL POLISH ===================== */

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
*{ -webkit-tap-highlight-color:transparent; }

/* Sharper type scale */
h1{ font-size:clamp(26px,3.4vw,44px) !important; line-height:1.3 !important; letter-spacing:-.6px !important; }
h2{ font-size:clamp(21px,2.4vw,32px) !important; line-height:1.4 !important; letter-spacing:-.4px !important; }
h3{ font-size:clamp(17px,1.6vw,22px) !important; line-height:1.5 !important; }
p,li,td{ line-height:1.9; }

/* Softer focus ring for keyboard users only */
:focus-visible{ outline:2px solid var(--nx-gold); outline-offset:3px; border-radius:10px; }

/* Elevated glass header when scrolled */
.tophead_wrap.nx-stuck{
  background:rgba(8,13,23,.94) !important;
  box-shadow:0 14px 34px -20px rgba(0,0,0,.9) !important;
}
.tophead_wrap{ transition:background .25s var(--nx-ease), box-shadow .25s var(--nx-ease); }

/* Cards feel physical */
.content .post,.content .page,.pn_block,.block_wrap,.white_block,.page_block,.sidebar .widget{
  transition:transform .28s var(--nx-ease), box-shadow .28s var(--nx-ease), border-color .28s var(--nx-ease);
}
@media (hover:hover) and (min-width:1024px){
  .content .post:hover,.pn_block:hover,.block_wrap:hover,.white_block:hover{
    transform:translateY(-3px);
    border-color:var(--nx-border-2) !important;
    box-shadow:0 30px 70px -28px rgba(0,0,0,.85) !important;
  }
}

/* Buttons: press feedback everywhere */
input[type=submit],button,.button,.btn,.pn_button,.premium_button,a.button{
  position:relative; overflow:hidden; letter-spacing:.2px;
}
input[type=submit]:active,button:active,.button:active,.btn:active,.pn_button:active,a.button:active{
  transform:translateY(0) scale(.985) !important; filter:brightness(.96);
}

/* Inputs: bigger touch targets, no iOS zoom */
input[type=text],input[type=email],input[type=password],input[type=number],
input[type=tel],input[type=search],input[type=url],select,textarea{
  font-size:16px !important; min-height:48px;
}

/* Loading shimmer for plugin async blocks */
@keyframes nx-shine{ to{ background-position:-200% 0; } }
.nx-skeleton{
  background:linear-gradient(90deg,rgba(255,255,255,.04) 25%,rgba(255,255,255,.10) 37%,rgba(255,255,255,.04) 63%);
  background-size:200% 100%; animation:nx-shine 1.4s linear infinite; border-radius:12px;
}

/* Back to top */
.nx-totop{
  position:fixed; inset-inline-start:16px; bottom:calc(20px + var(--nx-safe-b));
  z-index:120; width:44px; height:44px; padding:0;
  display:grid; place-items:center;
  border-radius:14px !important;
  background:rgba(16,26,43,.9) !important; color:var(--nx-text) !important;
  border:1px solid var(--nx-border-2) !important; box-shadow:var(--nx-shadow) !important;
  opacity:0; visibility:hidden; transform:translateY(12px);
  transition:opacity .25s var(--nx-ease), transform .25s var(--nx-ease), visibility .25s;
  backdrop-filter:blur(12px);
}
.nx-totop svg{ width:20px; height:20px; }
.nx-totop.is-on{ opacity:1; visibility:visible; transform:none; }

/* ===================== MOBILE TAB BAR ===================== */

.nx-tabbar{ display:none; }

@media (max-width:900px){
  .nx-tabbar{
    display:block;
    position:fixed; inset-inline:0; bottom:0; z-index:200;
    padding:0 10px calc(8px + var(--nx-safe-b));
    background:linear-gradient(180deg,rgba(8,13,23,0),rgba(8,13,23,.92) 34%);
    pointer-events:none;
  }
  .nx-tabbar__ins{
    pointer-events:auto;
    display:grid; grid-template-columns:repeat(5,1fr); align-items:end;
    gap:2px; padding:8px 6px;
    background:rgba(13,21,36,.92);
    border:1px solid var(--nx-border-2);
    border-radius:22px;
    box-shadow:0 18px 44px -18px rgba(0,0,0,.9);
    backdrop-filter:blur(18px) saturate(140%);
  }
  .nx-tab{
    display:flex; flex-direction:column; align-items:center; gap:4px;
    padding:7px 2px 5px; border-radius:16px; min-width:0;
    color:var(--nx-faint) !important; font-size:11px; font-weight:700;
    transition:color .2s var(--nx-ease), background .2s var(--nx-ease), transform .12s var(--nx-ease);
  }
  .nx-tab:active{ transform:scale(.94); }
  .nx-tab__icon{ display:grid; place-items:center; width:24px; height:24px; }
  .nx-tab__icon svg{ width:22px; height:22px; }
  .nx-tab__label{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
  .nx-tab.is-active{ color:var(--nx-gold) !important; background:rgba(242,185,51,.10); }

  .nx-tab--center{
    margin-top:-30px; padding:0; gap:6px;
    color:#161003 !important; background:transparent !important;
  }
  .nx-tab--center .nx-tab__icon{
    width:56px; height:56px; border-radius:20px;
    background:linear-gradient(140deg,var(--nx-gold),var(--nx-gold-2));
    box-shadow:0 12px 30px -10px rgba(242,185,51,.7), inset 0 1px 0 rgba(255,255,255,.35);
    border:3px solid rgba(13,21,36,.95);
  }
  .nx-tab--center .nx-tab__icon svg{ width:26px; height:26px; stroke-width:2.2; }
  .nx-tab--center .nx-tab__label{ color:var(--nx-gold) !important; font-weight:800; }

  body{ padding-bottom:calc(var(--nx-tabbar-h) + 22px + var(--nx-safe-b)) !important; }
  .nx-totop{ bottom:calc(var(--nx-tabbar-h) + 26px + var(--nx-safe-b)); width:40px; height:40px; }
}

/* ===================== MOBILE = APP SHELL ===================== */

@media (max-width:900px){

  /* Kill horizontal scroll for good */
  html,body{ overflow-x:hidden !important; max-width:100vw; }
  .container,#container,.content,.sidebar,.footer,.tophead,.topbar{ max-width:100% !important; }
  img,video,iframe,table{ max-width:100% !important; }

  /* Compact app bar: hide desktop chrome, keep logo + auth */
  .topbar_wrap{ display:none !important; }
  .tophead_wrap{
    position:sticky !important; top:0; z-index:150;
    background:rgba(9,14,25,.9) !important;
    backdrop-filter:blur(18px) saturate(150%);
    padding:0 !important;
  }
  .tophead{ display:flex !important; align-items:center; justify-content:space-between; gap:10px; padding:10px 14px !important; min-height:58px; }
  .tophead:after{ content:none !important; }
  .logoblock,.logoblock_ins{ float:none !important; margin:0 !important; padding:0 !important; }
  .logoblock img{ max-height:34px !important; }
  .header_timetable,.header_timetable_ins{ display:none !important; }

  /* Content rhythm */
  .container{ padding-inline:12px !important; }
  .content,.sidebar{ padding-top:14px !important; }
  .content .post,.content .page,.pn_block,.block_wrap,.white_block,.page_block,.sidebar .widget{
    border-radius:20px !important; padding:16px !important; margin-bottom:14px !important;
  }
  .breadcrumb_ins{ padding:16px !important; border-radius:20px !important; margin-top:14px !important; }
  .breadcrumb_title{ font-size:20px !important; }

  /* Native-ish sheet for the theme's mobile menu */
  .mobile_menu{
    border-radius:24px 0 0 24px !important;
    background:rgba(11,18,32,.98) !important;
    backdrop-filter:blur(20px);
    box-shadow:-24px 0 60px -20px rgba(0,0,0,.9) !important;
  }
  .mobile_menu a{ padding:13px 16px !important; border-radius:14px !important; font-weight:700 !important; }
  .mobile_menu a:active{ background:rgba(255,255,255,.07) !important; }
  .mobile_menu_abs{ backdrop-filter:blur(4px); }

  /* Tables → horizontally swipeable app cards */
  .content table,.pn_block table{
    display:block; overflow-x:auto; -webkit-overflow-scrolling:touch;
    scrollbar-width:none; border-radius:16px;
  }
  .content table::-webkit-scrollbar,.pn_block table::-webkit-scrollbar{ display:none; }

  /* Exchange shell: full-bleed app card */
  .exco-exchange-shell{
    padding:12px !important; border-radius:20px !important;
    margin-inline:-4px;
  }
  .exco-exchange-shell table{ font-size:13px; }

  /* Buttons become full-width app actions */
  .exco-exchange-shell input[type=submit],
  .content input[type=submit],
  .content .pn_button{ width:100%; min-height:52px; font-size:16px !important; border-radius:16px !important; }

  /* Footer: calm, compact */
  .footer_wrap{ margin-top:24px; }
  .footer{ padding:20px 14px !important; text-align:center; }
  .footer_left,.footer_center,.footer_right{ float:none !important; width:100% !important; text-align:center !important; margin-bottom:14px; }
  .footer_menu .hmenu{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px; }
  .footer_menu .hmenu li{ float:none !important; }
  .footer_soc{ display:flex; justify-content:center; gap:10px; }
  .footer_soc a{ margin:0 !important; }
}

/* Small phones */
@media (max-width:380px){
  .nx-tab__label{ font-size:10px; }
  .nx-tab--center .nx-tab__icon{ width:50px; height:50px; }
}

/* ===================== DESKTOP REFINEMENT ===================== */

@media (min-width:1024px){
  .container{ max-width:1240px; margin-inline:auto; }
  .content .post,.content .page,.pn_block,.block_wrap,.white_block,.page_block{
    padding:30px 32px !important;
  }
  .hmenu > li > a{ position:relative; }
  .hmenu > li > a:after{
    content:""; position:absolute; inset-inline:14px; bottom:4px; height:2px;
    background:linear-gradient(90deg,var(--nx-gold),var(--nx-teal));
    border-radius:2px; transform:scaleX(0); transform-origin:right;
    transition:transform .28s var(--nx-ease);
  }
  .hmenu > li > a:hover:after,.hmenu > li.current-menu-item > a:after{ transform:scaleX(1); }
}

@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
  html{ scroll-behavior:auto; }
}
