/* NXS Data: the estate look over the catalogue's own Bootstrap sheet (services/skins; loaded after it). Tokens only,
   from skin.css; 5px corners, 4px chips; no gradient, shadow, tile or texture. */
body.nxs-data {
  --bs-body-bg: var(--nx-bg);
  --bs-body-color: var(--nx-text-2);
  --bs-body-font-family: var(--nx-sans);
  --bs-body-font-size: 15px;
  --bs-body-line-height: 1.55;
  --bs-emphasis-color: var(--nx-text);
  --bs-secondary-color: var(--nx-text-3);
  --bs-heading-color: var(--nx-text);
  --bs-link-color: var(--nx-link);
  --bs-link-hover-color: var(--nx-link);
  --bs-link-color-rgb: currentColor;
  --bs-border-color: var(--nx-line-strong);
  --bs-border-radius: 5px;
  --bs-border-radius-sm: 4px;
  --bs-border-radius-lg: 5px;
  --bs-secondary-bg: var(--nx-elevated);
  --bs-tertiary-bg: var(--nx-muted-bg);
  --bs-box-shadow: none;
  --bs-focus-ring-color: var(--nx-focus);
  background: var(--nx-bg);
}
.nxs-data h1, .nxs-data h2, .nxs-data h3, .nxs-data h4 { color: var(--nx-text); font-weight: 500; letter-spacing: -.01em; }
.nxs-data .visually-hidden, .nxs-data .sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* The page frame: no grey texture, no white box, no column rule */
.nxs-data .main, .nxs-data .main.hero, .nxs-data .homepage { background: var(--nx-bg) !important; padding: 0; }
.nxs-data .main > .container, .nxs-data #content.container { max-width: 1200px; padding: 32px 24px 64px; }
.nxs-data .wrapper { background: transparent; border: 0; box-shadow: none; min-height: 0; }
.nxs-data .wrapper::before { display: none !important; }
.nxs-data .toolbar { margin: 0 0 16px; padding: 0; background: none; }
.nxs-data .breadcrumb, .nxs-data .toolbar .breadcrumb { font: 400 12px/1.6 var(--nx-mono); background: none; padding: 0; margin: 0; }
.nxs-data .breadcrumb a, .nxs-data .toolbar .breadcrumb li a { color: var(--nx-text-3); text-decoration: none; }
.nxs-data .breadcrumb .active a { color: var(--nx-text); }
.nxs-data .toolbar .breadcrumb li:not(:first-child)::before { color: var(--nx-text-3); }

/* Modules and cards */
.nxs-data .module, .nxs-data .card, .nxs-data .box { background: transparent; border-color: var(--nx-line); box-shadow: none; }
.nxs-data .module-content { padding-inline: 0; }
.nxs-data .secondary .module-content, .nxs-data .module-narrow .module-content { padding-inline: 16px; }
.nxs-data .module-heading { background: var(--nx-muted-bg); border-color: var(--nx-line); color: var(--nx-text); font: 500 11px/1.4 var(--nx-mono); letter-spacing: .16em; text-transform: uppercase; padding: 10px 16px; }
.nxs-data .module-heading .fa { display: none; }
.nxs-data .page-heading { color: var(--nx-text); font-size: clamp(24px, 3.4vw, 30px); font-weight: 500; letter-spacing: -.02em; }
.nxs-data .page-header, .nxs-data .module > .page-header { background: none; border-bottom: 1px solid var(--nx-line); }
.nxs-data .secondary { border-inline-end: 1px solid var(--nx-line); }

/* Tabs: 2px ink underline for the active one */
.nxs-data .nav-tabs { border-bottom: 1px solid var(--nx-line); }
.nxs-data .nav-tabs .nav-link, .nxs-data .nav-tabs > li > a { color: var(--nx-text-2); background: none; border: 0; border-bottom: 2px solid transparent; border-radius: 0; }
.nxs-data .nav-tabs .nav-link.active, .nxs-data .nav-tabs > li.active > a { color: var(--nx-text); background: none; border-bottom-color: var(--nx-text); }
.nxs-data .nav-simple > .nav-item > a, .nxs-data .nav-item > a { color: var(--nx-text-2); }
.nxs-data .nav-item.active > a, .nxs-data .nav-simple > .nav-item.active > a { color: var(--nx-text); background: var(--nx-hover); border-inline-start: 2px solid var(--nx-text); }
.nxs-data .nav-item.active > a::before, .nxs-data .nav-item.active > a::after { display: none; }

/* Buttons: primary inverted, the rest hairline */
.nxs-data .btn { border-radius: 5px; font-weight: 500; text-transform: none; box-shadow: none; background-image: none; text-shadow: none; }
.nxs-data .btn-primary, .nxs-data .btn-primary:focus { --bs-btn-bg: var(--nx-primary-bg); background: var(--nx-primary-bg); border-color: var(--nx-primary-bg); color: var(--nx-primary-ink); }
.nxs-data .btn-primary:hover { background: var(--nx-primary-hover); border-color: var(--nx-primary-hover); color: var(--nx-primary-ink); }
.nxs-data .btn-default, .nxs-data .btn-secondary, .nxs-data .btn-light, .nxs-data .btn-outline-secondary { background: transparent; border: 1px solid var(--nx-field-border); color: var(--nx-text); }
.nxs-data .btn-default:hover, .nxs-data .btn-secondary:hover, .nxs-data .btn-light:hover { background: var(--nx-hover); color: var(--nx-text); }
.nxs-data .btn-danger { background: transparent; border: 1px solid var(--nx-critical); color: var(--nx-critical); }
.nxs-data .btn:focus-visible, .nxs-data .form-control:focus, .nxs-data .form-select:focus { outline: 2px solid var(--nx-focus); outline-offset: 2px; box-shadow: none; }

/* Fields */
.nxs-data .form-control, .nxs-data .form-select, .nxs-data select, .nxs-data textarea { background: var(--nx-surface); color: var(--nx-text); border: 1px solid var(--nx-field-border); border-radius: 5px; min-height: 40px; box-shadow: none; }
.nxs-data .form-label, .nxs-data .control-label, .nxs-data label { color: var(--nx-text); font-weight: 500; font-size: 13px; }
.nxs-data .form-check-input { background-color: var(--nx-surface); border-color: var(--nx-field-border); }
.nxs-data .form-check-input:checked { background-color: var(--nx-text); border-color: var(--nx-text); }
.nxs-data .info-block, .nxs-data .form-text, .nxs-data .help-block { color: var(--nx-text-3); }
.nxs-data .error-explanation, .nxs-data .alert { background: var(--nx-elevated); color: var(--nx-text); border: 1px solid var(--nx-line-strong); border-inline-start: 3px solid var(--nx-text-3); border-radius: 5px; }
.nxs-data .alert-danger, .nxs-data .alert-error, .nxs-data .error-explanation { border-inline-start-color: var(--nx-critical); }
.nxs-data .alert-success { border-inline-start-color: var(--nx-positive); }
.nxs-data .form-actions { background: none; border-top: 1px solid var(--nx-line); padding-inline: 0; margin-inline: 0; }

/* Results, chips and tables */
.nxs-data .dataset-list { border-top: 1px solid var(--nx-line); }
.nxs-data .dataset-item { border-bottom: 1px solid var(--nx-line); }
.nxs-data .dataset-heading a { color: var(--nx-text); }
.nxs-data .tag, .nxs-data .badge, .nxs-data .label, .nxs-data .dataset-resources li a, .nxs-data .format-label { background: transparent; color: var(--nx-text-2); border: 1px solid var(--nx-line-strong); border-radius: 4px; box-shadow: none; text-shadow: none; font: 500 11px/1.6 var(--nx-mono); }
.nxs-data .table, .nxs-data table { --bs-table-bg: transparent; --bs-table-color: var(--nx-text-2); --bs-table-striped-bg: var(--nx-muted-bg); --bs-table-border-color: var(--nx-line); color: var(--nx-text-2); }
.nxs-data .table th, .nxs-data th { color: var(--nx-text); background: var(--nx-muted-bg); }
.nxs-data .pagination { --bs-pagination-bg: transparent; --bs-pagination-color: var(--nx-text-2); --bs-pagination-border-color: var(--nx-line-strong); --bs-pagination-active-bg: var(--nx-primary-bg); --bs-pagination-active-color: var(--nx-primary-ink); --bs-pagination-active-border-color: var(--nx-primary-bg); --bs-pagination-hover-bg: var(--nx-hover); --bs-pagination-hover-color: var(--nx-text); --bs-pagination-focus-box-shadow: none; }
.nxs-data .dropdown-menu { background: var(--nx-elevated); border: 1px solid var(--nx-line-strong); box-shadow: none; }
.nxs-data .dropdown-item { color: var(--nx-text-2); }
.nxs-data .dropdown-item:hover { background: var(--nx-hover); color: var(--nx-text); }
.nxs-data .empty { color: var(--nx-text-3); }
.nxs-data .image img, .nxs-data .media-image { border-radius: 4px; }

/* The bar's search and account rows (header.html) */
.nxs-search { display: flex; gap: 8px; align-items: center; }
.nxs-bar .nxs-search input { min-height: 40px; width: 220px; }
.nxs-bar .nxs-search .nxs-btn { min-height: 40px; padding: 0 14px; font-size: 14px; }
.nxs-account ul { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; margin: 0; padding: 0; font-size: 14px; }
.nxs-account a, .nxs-linkbtn { color: var(--nx-text-2) !important; text-decoration: none !important; }
.nxs-linkbtn { background: none; border: 0; padding: 0; font: inherit; cursor: pointer; }
.nxs-account a:hover, .nxs-linkbtn:hover { color: var(--nx-text) !important; text-decoration: underline !important; }
.nxs-data .nxs-nav ul li a { display: inline-block; }

/* Home */
.nxs-hero { padding: 24px 0 8px; }
.nxs-search-lg { flex-direction: column; align-items: stretch; max-width: 640px; gap: 6px; }
.nxs-search-row { display: flex; gap: 8px; }
.nxs-search-row input { flex: 1; min-width: 0; }
.nxs-links { max-width: 640px; margin-top: 24px; }
.nxs-login { padding-top: 8px; }
.nxs-forgot { margin: 20px 0 0; }
.nxs-data .nxs-login .form-actions { border: 0; padding: 0; margin: 8px 0 0; }
.nxs-data .nxs-login .btn-primary { width: 100%; min-height: 44px; margin: 0; display: inline-flex; align-items: center; justify-content: center; }
.nxs-data input[type="checkbox"], .nxs-data input[type="radio"] { accent-color: var(--nx-text); }
.nxs-data .nxs-login .control-medium, .nxs-data .nxs-login .form-control { width: 100%; max-width: none; min-height: 46px; }

/* The language picker in the footer */
.nxs-foot form { margin: 0; display: flex; gap: 8px; align-items: center; }
.nxs-foot select { min-height: 36px; width: auto; font: 400 12px var(--nx-mono); }
.nxs-foot .btn { min-height: 36px; font-size: 12px; }

@media (max-width: 640px) {
  .nxs-bar .nxs-search { width: 100%; }
  .nxs-bar .nxs-search input { flex: 1; width: auto; min-width: 0; }
  .nxs-data .main > .container, .nxs-data #content.container { padding: 24px 16px 48px; }
  .nxs-data .secondary { border-inline-end: 0; }
}
