/* ============================================================
   NEETResult.in — Mobile-First Optimization v2.0
   Focus: hide top bars, remove ad hooks, premium cards, tables,
   scroll button, footer, and bottom navigation on mobile.
   ============================================================ */

/* Global ad-free cleanup */
.nr-ad-zone,
.nr-ad-mob,
.nr-ad-placeholder,
.nr-ad-slot,
.nr-ad-container,
.nr-ad-wrap,
.nr-ad-box,
.nr-floating-ad,
.nr-sticky-ad,
.nr-ad-close,
.nr-ad-close-btn,
[id^="nr-ad-"],
[class^="nr-ad-"],
[class*=" nr-ad-"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

@media (max-width: 767px) {
  /* Hide the orange banner + blue ticker + top info bar */
  .nr-status-bar,
  .nr-topbar,
  #nrTopbar,
  .nr-ticker,
  .nr-ticker-wrap,
  .nr-breaking-bar,
  .nr-news-ticker {
    display: none !important;
  }

  /* Compact, sticky header */
  .nr-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    box-shadow: 0 2px 14px rgba(12,45,107,.08) !important;
  }
  .nr-header-inner {
    min-height: 64px !important;
    height: 64px !important;
    padding: 0 12px !important;
    gap: 8px !important;
  }
  .nr-logo-wrap,
  .nr-brand,
  .nr-header-actions {
    display: flex !important;
    align-items: center !important;
  }
  .nr-logo-wrap img { max-height: 38px !important; }
  .nr-brand-icon { font-size: 22px !important; }
  .nr-brand-name { font-size: 15px !important; line-height: 1.05 !important; }
  .nr-brand-tagline { display: none !important; }
  .nr-header-actions { gap: 6px !important; }
  .nr-search-trigger,
  .nr-hamburger {
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Hero */
  .nr-hero { padding: 16px 0 0 !important; }
  .nr-hero-inner {
    flex-direction: column !important;
    gap: 14px !important;
    padding-bottom: 0 !important;
  }
  .nr-hero-main { padding: 0 !important; }
  .nr-hero-h1 {
    font-size: 23px !important;
    line-height: 1.22 !important;
    margin: 8px 0 10px !important;
  }
  .nr-hero-accent { font-size: 18px !important; }
  .nr-hero-sub {
    font-size: 13px !important;
    line-height: 1.5 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    margin: 6px 0 12px !important;
  }
  .nr-hero-ctas {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-bottom: 14px !important;
  }
  .nr-hero-ctas .nr-btn {
    width: 100% !important;
    font-size: 12px !important;
    padding: 10px 12px !important;
    min-width: 0 !important;
    text-align: center !important;
  }
  .nr-hero-side,
  .nr-hero-wave {
    display: none !important;
  }

  /* Stats cards */
  .nr-stats-band { padding: 16px 0 !important; }
  .nr-stats-inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch !important;
  }
  .nr-stat-item {
    min-height: 92px !important;
    padding: 14px 10px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.08) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 4px !important;
  }
  .nr-stat-icon {
    width: 28px !important;
    height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    opacity: .95 !important;
  }
  .nr-stat-num {
    font-size: 20px !important;
    line-height: 1.05 !important;
    color: #fff !important;
    font-weight: 800 !important;
  }
  .nr-stat-lbl {
    font-size: 10px !important;
    line-height: 1.25 !important;
    letter-spacing: .35px !important;
    color: rgba(255,255,255,.78) !important;
    text-transform: uppercase !important;
  }

  /* Tables */
  .nr-table-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 14px !important;
    box-shadow: 0 6px 22px rgba(12,45,107,.08) !important;
  }
  .nr-table {
    width: 100% !important;
    min-width: 560px !important;
    font-size: 14px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }
  .nr-table th,
  .nr-table td {
    padding: 10px !important;
    font-size: 14px !important;
    white-space: normal !important;
    word-break: break-word !important;
    vertical-align: top !important;
  }
  .nr-table thead th {
    position: sticky !important;
    top: 64px !important;
    z-index: 3 !important;
    background: var(--nr-navy) !important;
    color: #fff !important;
  }
  .nr-table tbody th {
    position: sticky !important;
    left: 0 !important;
    z-index: 2 !important;
    background: var(--nr-white) !important;
  }

  /* Quick links cards */
  .nr-quick-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .nr-quick-card {
    min-height: 108px !important;
    padding: 14px 10px !important;
    border-radius: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 8px !important;
    position: relative !important;
    overflow: hidden !important;
  }
  .nr-quick-icon {
    width: 28px !important;
    height: 28px !important;
    font-size: 28px !important;
  }
  .nr-quick-label {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  /* FAQ */
  .nr-faq-q {
    padding: 14px 14px !important;
    font-size: 14px !important;
  }
  .nr-faq-a {
    padding: 0 14px 14px !important;
  }
  .nr-view-all,
  .nr-faq-footer .nr-btn,
  .nr-faq-footer a,
  a.nr-faq-view-all,
  .nr-view-all-faqs {
    width: 100% !important;
    display: block !important;
    text-align: center !important;
  }

  /* Scroll to top */
  .nr-scroll-top,
  #nrScrollTop {
    position: fixed !important;
    right: 20px !important;
    bottom: 90px !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    box-shadow: 0 8px 22px rgba(12,45,107,.28) !important;
    background: var(--nr-navy) !important;
    color: #fff !important;
    z-index: 999 !important;
  }
  .nr-scroll-top.nr-visible,
  #nrScrollTop.visible,
  #nrScrollTop.nr-visible {
    display: inline-flex !important;
  }

  /* Bottom nav */
  .nr-bottom-nav {
    display: flex !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 60px !important;
    z-index: 9998 !important;
    background: var(--nr-white) !important;
    border-top: 1px solid var(--nr-border) !important;
    box-shadow: 0 -6px 24px rgba(12,45,107,.10) !important;
    padding: 0 !important;
  }
  .nr-bn-item {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    padding: 6px 2px 4px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--nr-muted) !important;
    text-decoration: none !important;
    font-size: 9.5px !important;
    font-weight: 600 !important;
  }
  .nr-bn-item span:first-child {
    width: 20px !important;
    height: 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
  }
  .nr-bn-item:hover,
  .nr-bn-active {
    color: var(--nr-navy) !important;
  }
  body { padding-bottom: 60px !important; }

  /* Mobile drawer menu */
  .nr-mob-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
    background: rgba(7,26,66,.55) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .22s ease !important;
  }
  .nr-mob-overlay.open {
    opacity: 1 !important;
    pointer-events: all !important;
  }
  .nr-mob-drawer {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: min(340px, 92vw) !important;
    padding: 18px 18px 24px !important;
    background: var(--nr-white) !important;
    transform: translateX(100%) !important;
    transition: transform .26s ease !important;
    overflow-y: auto !important;
  }
  .nr-mob-overlay.open .nr-mob-drawer {
    transform: translateX(0) !important;
  }
  .nr-mob-close {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    border: 0 !important;
    background: var(--nr-bg) !important;
    color: var(--nr-text) !important;
    padding: 10px 14px !important;
    border-radius: 12px !important;
    margin-bottom: 14px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
  }
  .nr-mob-menu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .nr-mob-menu li {
    border: 1px solid var(--nr-border) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }
  .nr-mob-menu li a {
    display: block !important;
    padding: 13px 14px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--nr-navy) !important;
    text-decoration: none !important;
    background: var(--nr-white) !important;
  }

  /* Footer */
  .nr-footer {
    padding: 34px 0 0 !important;
    margin-top: 24px !important;
  }
  .nr-footer-disclaimer-box {
    background: rgba(255,255,255,.06) !important;
    color: rgba(255,255,255,.78) !important;
    border-top: 1px solid rgba(255,255,255,.1) !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    padding: 14px 0 !important;
    margin-bottom: 22px !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
  }
  .nr-footer-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding-bottom: 26px !important;
  }
  .nr-footer-logo {
    font-size: 18px !important;
    margin-bottom: 10px !important;
  }
  .nr-footer-about {
    font-size: 13px !important;
    line-height: 1.6 !important;
  }
  .nr-footer-status {
    gap: 10px !important;
  }
  .nr-footer-social {
    gap: 8px !important;
  }
  .nr-social-btn {
    padding: 8px 12px !important;
    font-size: 12px !important;
  }
  .nr-footer-bottom-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    text-align: center !important;
  }
  .nr-footer-legal {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 12px !important;
  }

  /* Tighter section spacing */
  .nr-section,
  .nr-section-alt {
    padding: 24px 0 !important;
  }
  .nr-section-head {
    margin-bottom: 16px !important;
  }
  .nr-section-title {
    font-size: 18px !important;
    line-height: 1.3 !important;
  }
  .nr-section-sub {
    font-size: 13px !important;
  }
  .nr-container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .nr-cards-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  /* Keep mobile typography consistent */
  .nr-page-title,
  .nr-result-hero h1,
  .nr-article h1 {
    font-size: 24px !important;
    line-height: 1.22 !important;
  }
  .nr-result-intro,
  .nr-article-content p {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }
}

/* Dark mode mobile surfaces */
html.dark-mode .nr-bottom-nav { background: var(--nr-dm-surface) !important; border-top-color: var(--nr-dm-border) !important; }
html.dark-mode .nr-mob-drawer { background: var(--nr-dm-surface) !important; }
html.dark-mode .nr-mob-menu li { border-color: var(--nr-dm-border) !important; }
html.dark-mode .nr-mob-menu li a { background: var(--nr-dm-surface) !important; color: var(--nr-dm-text) !important; }
html.dark-mode .nr-footer-disclaimer-box { background: rgba(255,255,255,.04) !important; }
