/* NEXORA V1 desktop-only correction layer.
 * Scoped to true desktop widths. Android and tablet keep their existing CSS.
 * Loaded after core/components/mobile usability and the public VVIP module.
 */
@media screen and (min-width:1024px) {
  :root { --nx-desktop-content:1320px; }

  /* One shared alignment for the navigation, hero and dashboard. */
  .nx-top-nav-block {
    width:min(calc(100% - 48px),var(--nx-desktop-content));
    max-width:var(--nx-desktop-content);
    margin:16px auto 0;
    padding:12px 22px;
    border:1px solid rgba(205,188,255,.18);
    border-radius:18px;
    background:linear-gradient(110deg,rgba(27,21,43,.96),rgba(10,11,19,.96));
  }
  .nx-top-nav-inner { min-height:48px; gap:18px; }
  .nx-top-nav-mark { width:40px; height:40px; border-radius:13px; }
  .nx-top-nav-mark i { font-size:15px; }
  .nx-top-nav-text { gap:4px; }
  .nx-top-nav-text b { font-size:12px; letter-spacing:.04em; }
  .nx-top-nav-text span { font-size:10px; color:#b4a5c9; }
  .nx-top-menu-button { width:44px; height:44px; }
  .nx-top-menu-panel {
    right:0;
    width:min(370px,calc(100vw - 48px));
    max-height:min(660px,calc(100dvh - 90px));
    overflow-y:auto;
  }

  .video-banner {
    width:min(calc(100% - 48px),var(--nx-desktop-content));
    max-width:var(--nx-desktop-content);
    height:clamp(320px,30vw,450px);
    min-height:320px;
    max-height:450px;
    aspect-ratio:auto;
    margin:16px auto 0;
    border-radius:25px;
  }
  .video-banner video {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 45%;
  }
  .video-overlay { padding:clamp(28px,4vw,56px); }
  .video-overlay h1 {
    max-width:900px;
    font-size:clamp(34px,3.8vw,58px);
    line-height:1.12;
  }
  .video-overlay h1 span { font-size:clamp(11px,1vw,14px); }
  .nx-hero-meta { top:25px; left:32px; right:32px; font-size:10px; }

  .container {
    width:min(calc(100% - 48px),var(--nx-desktop-content));
    max-width:var(--nx-desktop-content);
    min-height:0;
    margin-inline:auto;
    padding:26px 0 80px;
  }
  /* Global Android-only rules previously collapsed desktop identity into 74px. */
  #userCard.user-card {
    display:grid;
    grid-template-columns:minmax(205px, .75fr) minmax(0,3.25fr);
    grid-template-rows:auto;
    align-items:center;
    gap:18px;
    width:100%;
    height:auto;
    min-height:116px;
    max-height:none;
    margin:0 0 24px!important;
    padding:18px 20px;
    overflow:visible;
  }
  #userCard .nx-session-brand {
    display:flex;
    align-items:center;
    gap:12px;
    width:auto;
    height:auto;
    padding:0;
    overflow:visible;
    border:0;
    background:transparent;
  }
  #userCard .user-avatar { width:50px; height:50px; border-radius:16px; font-size:21px; }
  #userCard .nx-session-brand span { font-size:9px; line-height:1.4; letter-spacing:.09em; }
  #userCard .nx-session-brand b { margin-top:4px; font-size:15px; line-height:1.35; overflow-wrap:normal; }
  #userCard .user-info {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:stretch;
    gap:9px;
    min-width:0;
    width:auto;
  }
  #userCard .user-info .item,
  #userCard .user-info .item:last-child {
    display:grid;
    grid-template-columns:20px minmax(0,1fr);
    grid-template-rows:auto auto;
    align-content:center;
    column-gap:7px;
    min-width:0;
    min-height:66px;
    height:auto;
    padding:11px 9px;
    overflow:hidden;
    border-radius:13px;
  }
  #userCard .user-info .item:last-child { display:flex; align-items:center; }
  #userCard .user-info .item>i { grid-row:1/3; align-self:center; font-size:15px; }
  #userCard .user-info .item .label { font-size:9px; line-height:1.3; letter-spacing:.03em; }
  #userCard .user-info .item .value {
    display:block;
    min-width:0;
    font-size:11px;
    line-height:1.4;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  #userCard .battery-bar {
    display:grid;
    grid-template-columns:17px minmax(0,1fr) auto;
    gap:7px;
    width:100%;
    min-width:0;
    padding:0;
    background:transparent;
  }
  #userCard .battery-bar .level { width:100%; min-width:0; }
  #userCard .battery-bar .perc { font-size:11px; }

  /* Desktop has room for the full navigation; do not fake horizontal scrolling. */
  #navTabs {
    display:flex;
    align-items:stretch;
    justify-content:space-between;
    gap:6px;
    width:100%;
    min-height:65px;
    margin-bottom:28px!important;
    padding:7px!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
  }
  #navTabs::before,#navTabs::after { display:none; }
  #navTabs .nav-tab {
    flex:1 1 0;
    min-width:0;
    min-height:49px;
    padding:10px 8px;
    font-size:12px;
  }
  #navTabs .nav-tab i { margin-right:7px; }
  #navTabs .nx-mercury-indicator { top:7px; border-radius:12px; }
  .section-title { margin-bottom:21px; font-size:15px; }

  /* Restore desktop density/readability hidden by @media all mobile overrides. */
  #main-content .tools-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
    align-items:stretch;
  }
  #main-content .tools-card {
    min-height:226px!important;
    height:100%;
    padding:19px!important;
    gap:0!important;
    border-radius:22px!important;
    box-shadow:0 14px 35px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.12)!important;
  }
  #main-content .tools-card .icon {
    width:54px;
    height:54px;
    border-radius:17px;
    font-size:23px!important;
  }
  #main-content .tools-card .badge {
    max-width:120px;
    padding:6px 9px;
    font-size:9px;
    line-height:1.3;
    white-space:normal;
    text-align:center;
  }
  #main-content .nx-card-top { gap:12px; }
  #main-content .nx-card-copy { margin-top:17px; }
  #main-content .tools-card h4 {
    display:block;
    min-height:0;
    font-size:16px!important;
    line-height:1.4!important;
    overflow-wrap:break-word;
  }
  #main-content .tools-card p {
    display:-webkit-box!important;
    min-height:45px;
    margin-top:7px;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    font-size:11px;
    line-height:1.6;
  }
  #main-content .nx-card-footer {
    gap:9px;
    min-height:30px;
    padding-top:17px;
    flex-wrap:wrap;
  }
  #main-content .nx-card-readiness {
    position:static!important;
    inset:auto!important;
    max-width:none;
    min-height:26px;
    padding:5px 8px;
    font-size:9px;
    line-height:1.3;
  }
  #main-content .nx-card-format {
    display:inline-flex!important;
    align-items:center;
    min-height:26px;
    padding:5px 8px;
    font-size:9px;
  }
  #main-content .tools-card .arrow {
    display:grid!important;
    width:31px;
    height:31px;
    margin-left:auto;
    font-size:12px;
  }
  #main-content .tools-card:hover {
    border-color:rgba(var(--nx-card-rgb),.54);
    box-shadow:0 18px 40px rgba(0,0,0,.48),0 6px 24px rgba(var(--nx-card-rgb),.1)!important;
  }

  /* Account CTA was positioned using a 430px Android centerline on desktop. */
  .nx-account-button {
    top:auto!important;
    right:max(24px,calc((100vw - var(--nx-desktop-content))/2 + 18px))!important;
    bottom:24px!important;
    min-width:106px;
  }
  .footer { margin-top:36px; padding:30px 0 34px; }
  .nx-footer-socials { gap:12px; }
  .nx-footer-social-link { width:auto; min-width:44px; padding:0 16px; }
  .nx-footer-social-link span {
    position:static;
    width:auto;
    height:auto;
    padding:0;
    margin:0;
    overflow:visible;
    clip:auto;
    white-space:nowrap;
  }

  /* The universal tool room also inherits mobile-only compact rules globally. */
  #nxUniversalRoom .nx-room-topbar {
    grid-template-columns:minmax(190px,auto) minmax(0,1fr) auto!important;
    gap:18px!important;
    min-height:72px!important;
    padding:12px 26px!important;
  }
  #nxUniversalRoom .nx-room-back {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    width:auto!important;
    min-width:188px!important;
    max-width:none!important;
    height:46px!important;
    min-height:46px!important;
    padding:0 15px!important;
  }
  #nxUniversalRoom .nx-room-back span { display:inline!important; font-size:11px; }
  #nxUniversalRoom .nx-room-scroll { padding:24px 30px 60px!important; }
  #nxUniversalRoom .nx-room-wrap { width:min(100%,1240px); max-width:1240px; }
  #nxUniversalRoom .nx-room-hero { margin-bottom:18px; padding:28px 34px!important; border-radius:25px!important; }
  #nxUniversalRoom .nx-room-panel { padding:26px 30px!important; border-radius:25px!important; }

  /* Newly introduced VVIP public catalog: remove phone-scale typography on PC. */
  .nx-vvip-main { width:min(calc(100% - 48px),1240px); max-width:1240px; padding:26px 0 86px; }
  .nx-vvip-hero { min-height:0; padding:40px 44px; gap:26px; }
  .nx-vvip-hero h2 { font-size:clamp(38px,3.3vw,58px); }
  .nx-vvip-lead { max-width:540px; font-size:14px; line-height:1.7; }
  .nx-vvip-eyebrow,.nx-vvip-section-head>span,.nx-vvip-section-head>div>span,.nx-vvip-purchase-copy>span { font-size:10px; }
  .nx-vvip-buy,.nx-vvip-explore { font-size:12px; }
  .nx-vvip-trust { font-size:10px; }
  .nx-vvip-section-head h3 { font-size:clamp(21px,2vw,30px); }
  .nx-vvip-benefit-grid h4,.nx-vvip-steps h4 { font-size:13px; }
  .nx-vvip-benefit-grid p,.nx-vvip-steps p { font-size:11px; line-height:1.65; }
  .nx-vvip-tool-copy h4 { font-size:13px; }
  .nx-vvip-tool-copy p,.nx-vvip-tool-copy li { font-size:10px; line-height:1.6; }
  .nx-vvip-search input { font-size:13px; }
  .nx-vvip-categories button { font-size:10px; }
  .nx-vvip-faq-list button { font-size:12px; }
  .nx-vvip-faq-list article>div>p { font-size:11px; }
  .nx-vvip-purchase-copy p,.nx-vvip-purchase>p { font-size:10px; }
  .nx-vvip-purchase li { font-size:12px; }
  .nx-vvip-sticky b { font-size:12px; }
  .nx-vvip-sticky small { font-size:10px; }
  .nx-vvip-sticky button { font-size:10px; }
}
@media screen and (min-width:1280px) {
  #main-content .tools-grid { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
}
@media screen and (min-width:1600px) {
  :root { --nx-desktop-content:1400px; }
}
