/* =====================================================================
   PIRT Theme — Admin local-tasks tabs + admin-toolbar offset
   Per TASK-R3-001 + TASK-R4-016 (header was covering admin toolbar).
   ===================================================================== */

/* ---- Push the fixed `.nav` down so the Drupal admin toolbar isn't covered.
   Drupal core sets --drupal-displace-offset-top when the toolbar / its
   trays are open. Falling back to body class checks for admin_toolbar
   contrib + claro defaults. */
.nav {
  top: var(--drupal-displace-offset-top, 0) !important;
  /* sit BELOW the admin toolbar (toolbar uses 502 / 1259) */
  z-index: 499;
}
/* When admin toolbar JS hasn't yet computed the displace offset, use
   conservative class-based fallbacks so the nav doesn't flash on top of
   the toolbar during first paint. */
body.toolbar-fixed .nav { top: 39px !important; }
body.toolbar-fixed.toolbar-horizontal.toolbar-tray-open .nav { top: 79px !important; }
body.toolbar-vertical.toolbar-tray-open .nav { left: 240px; }

/* Skin layer uses `position: sticky` for the nav — same fix applies. */
body.skin .nav {
  top: var(--drupal-displace-offset-top, 0) !important;
  z-index: 499 !important;
}
body.skin.toolbar-fixed .nav { top: 39px !important; }
body.skin.toolbar-fixed.toolbar-horizontal.toolbar-tray-open .nav { top: 79px !important; }

.region-highlighted ul.tabs,
nav.tabs,
.region-highlighted .tabs--primary {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  list-style: none;
  margin: 12px 0;
  padding: 4px;
  background: var(--white-05);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-md);
  font-size: 12px;
  max-width: max-content;
}
.region-highlighted ul.tabs li,
nav.tabs li,
.tabs--primary li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.region-highlighted ul.tabs li a,
nav.tabs li a,
.tabs--primary li a {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: var(--radius-sm);
  color: var(--white-70);
  text-decoration: none;
  font-weight: 500;
}
.region-highlighted ul.tabs li a:hover,
.region-highlighted ul.tabs li a.is-active,
.region-highlighted ul.tabs li.is-active a,
nav.tabs li a:hover,
nav.tabs li a.is-active {
  background: var(--white-10);
  color: var(--white);
}

/* Hide local tasks on all public-facing pages — they leak into the content
   area on node-based front pages and look broken (plain unstyled list of
   View/Edit/Delete/Revisions/Translate). We hide them everywhere except on
   /admin/* paths and node edit/revision/translation forms.
   The selector is intentionally aggressive: matches tabs in *any* region
   (highlighted, content, etc.) regardless of wrapper element, and uses
   high specificity (`html body`) + !important to beat block/menu CSS. */
html body:not([class*="path-admin"]):not([class*="page-node-edit"]):not([class*="page-node-revisions"]):not([class*="page-node-translations"]) ul.tabs,
html body:not([class*="path-admin"]):not([class*="page-node-edit"]):not([class*="page-node-revisions"]):not([class*="page-node-translations"]) ol.tabs,
html body:not([class*="path-admin"]):not([class*="page-node-edit"]):not([class*="page-node-revisions"]):not([class*="page-node-translations"]) nav.tabs,
html body:not([class*="path-admin"]):not([class*="page-node-edit"]):not([class*="page-node-revisions"]):not([class*="page-node-translations"]) .tabs.primary,
html body:not([class*="path-admin"]):not([class*="page-node-edit"]):not([class*="page-node-revisions"]):not([class*="page-node-translations"]) .tabs--primary,
html body:not([class*="path-admin"]):not([class*="page-node-edit"]):not([class*="page-node-revisions"]):not([class*="page-node-translations"]) .tabs.secondary,
html body:not([class*="path-admin"]):not([class*="page-node-edit"]):not([class*="page-node-revisions"]):not([class*="page-node-translations"]) .tabs--secondary,
html body:not([class*="path-admin"]):not([class*="page-node-edit"]):not([class*="page-node-revisions"]):not([class*="page-node-translations"]) [data-drupal-selector="local-tasks"],
html body:not([class*="path-admin"]):not([class*="page-node-edit"]):not([class*="page-node-revisions"]):not([class*="page-node-translations"]) #block-local-tasks,
html body:not([class*="path-admin"]):not([class*="page-node-edit"]):not([class*="page-node-revisions"]):not([class*="page-node-translations"]) [id*="block-local-tasks"],
html body:not([class*="path-admin"]):not([class*="page-node-edit"]):not([class*="page-node-revisions"]):not([class*="page-node-translations"]) [id*="-localtasks"],
html body:not([class*="path-admin"]):not([class*="page-node-edit"]):not([class*="page-node-revisions"]):not([class*="page-node-translations"]) [id*="-local-tasks"] {
  display: none !important;
}

/* Skin overrides */
body.skin .region-highlighted ul.tabs,
body.skin nav.tabs {
  background: var(--sp-bg) !important;
  border-color: var(--sp-line) !important;
}
body.skin .region-highlighted ul.tabs li a,
body.skin nav.tabs li a {
  color: var(--sp-text) !important;
}
body.skin .region-highlighted ul.tabs li a:hover,
body.skin .region-highlighted ul.tabs li.is-active a,
body.skin nav.tabs li.is-active a {
  background: var(--sp-primary) !important;
  color: #fff !important;
}
