/* Shared document, breadcrumb, search and menu presentation. */

a {
  text-decoration: none;
  color: var(--accent-primary);
}

a:hover {
  text-decoration: underline;
}

body {
  margin: 0px;
  padding: 0px;
  background: var(--page-bg);
  font-family: Assistant, Arial, sans-serif;
  font-size: 14px;
  min-height: 100vh;
}

.site-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 var(--site-layout-gap);
  font-size: 14px;
  line-height: 20px;
  color: var(--accent-dark);
}

.site-breadcrumb a {
  color: var(--accent-primary);
}

.site-breadcrumb-sep {
  width: 16px;
  height: 16px;
  fill: currentcolor;
  flex-shrink: 0;
}

.desk-search-fields {
  display: flex;
  align-items: stretch;
  gap: 8px;
}

.desk-search-fields input {
  width: 0px;
  min-width: 0px;
  flex: 1 1 0%;
  height: 40px;
  box-sizing: border-box;
  border: 1px solid var(--line-subtle);
  border-radius: 8px;
  background: var(--surface);
  padding: 8px 10px;
  font: 16px Assistant, Arial, sans-serif;
  color: var(--reading-ink);
}

.desk-search-fields input:focus-visible {
  outline: var(--focus-ring) solid 2px;
  outline-offset: 2px;
}

.desk-search-fields button {
  border: 0px;
  border-radius: 8px;
  padding: 8px 14px;
  background: var(--accent-primary);
  color: var(--surface);
  font: 600 15px Assistant, Arial, sans-serif;
  cursor: pointer;
}

.desk-secondary-link {
  display: inline-block;
  margin-top: 16px;
  font-size: 14px;
  color: var(--text-muted);
}

#menuOverlay {
  --menu-top-size: 16px;
  --menu-child-size: 15px;
  --menu-target-height: 28.16px;
}

#menuOverlay .menu-row {
  padding: 0px;
}

#menuOverlay .menu-row-label, #menuOverlay .menu-child {
  box-sizing: border-box;
  min-height: var(--menu-target-height);
  padding: 6.4px 8px;
  line-height: 1.5;
  text-align: start;
}

#menuOverlay .menu-row-label {
  font-size: var(--menu-top-size);
  gap: 16px;
}

#menuOverlay .menu-nested-row > .menu-row-label, #menuOverlay .menu-child {
  font-size: var(--menu-child-size);
  font-weight: 400;
}

#menuOverlay .menu-child {
  display: flex;
  align-items: center;
}

#menuOverlay .menu-children {
  gap: 0px;
  margin-block: 2.56px 5.12px;
  padding-inline-start: 12px;
}

#menuOverlay .menu-row-label svg {
  flex-shrink: 0;
}

#menuOverlay .menu-row-label:focus-visible, #menuOverlay .menu-child:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: -2px;
  border-radius: 5px;
}

#menuOverlay .menu-list > li:last-child {
  border-bottom: 0px;
}

.site-search-body {
  padding: 24px 18px 18px;
}
.site-search-body form > label {
  display: block;
  margin-bottom: 6px;
  color: var(--text-muted);
}

.site-skip { position: fixed; top: 8px; inset-inline-start: 8px; transform: translateY(-200%); z-index: var(--layer-modal); background: var(--surface); padding: 8px 16px; }
.site-skip:focus { transform: none; }

/* Optional section actions share the breadcrumb row through the master slot. */
.site-page-actions:empty{display:none}
.site-page-heading:has(>.site-page-actions:not(:empty)){display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-bottom:var(--site-layout-gap)}
.site-page-heading:has(>.site-page-actions:not(:empty))>.site-breadcrumb{flex:1 1 340px;margin:0;min-width:0}
.site-page-actions{flex:0 0 auto;margin-inline-start:auto}
@media(max-width:760px){.site-page-heading:has(>.site-page-actions:not(:empty))>.site-breadcrumb{flex-basis:100%}.site-page-actions{width:100%}}

/* Current destination is distinct from an expanded menu group. */
#menuOverlay a[aria-current="page"] {
  background: var(--accent-primary);
  color: #fff;
  font-weight: 600;
  border-radius: 4px;
}
