/* Shared outer grid for public inner pages. Keep article text measures and
   component layouts intact; remove only the theme's second set of gutters. */
body.cmu-navigation-active:not(.path-frontpage) #main-content > .container,
body.cmu-navigation-active:not(.path-frontpage) #hero-top .container {
  box-sizing: border-box;
  width: var(--cmu-site-width) !important;
  max-width: none !important;
  padding-inline: 0 !important;
  margin-inline: auto !important;
}

/* Breadcrumbs are orientation, not another hero. A title remains visible on
   listing pages; roster/profile pages retain their existing in-content H1. */
body.cmu-navigation-active:not(.path-frontpage) #hero-top {
  background: #f7f5f1 !important;
  color: var(--cmu-ink);
  min-height: 0;
  padding-block: 12px !important;
  border-bottom: 1px solid #e6e0d9;
  box-shadow: none;
}
body.cmu-navigation-active #hero-top .block-system-breadcrumb-block {
  padding: 0;
  margin: 0;
}
body.cmu-navigation-active #hero-top .breadcrumb {
  display: block;
  padding: 0;
  margin: 0;
  background: transparent;
}
body.cmu-navigation-active #hero-top .breadcrumb__items {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}
body.cmu-navigation-active #hero-top .breadcrumb__item {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  max-width: 100%;
  min-height: 36px;
  padding: 0;
  margin: 0;
  color: #51515b;
  font: 400 14px/1.5 var(--cmu-nav-font);
  overflow-wrap: anywhere;
}
body.cmu-navigation-active #hero-top .breadcrumb__item:last-child {
  color: var(--cmu-ink);
  font-weight: 600;
}
body.cmu-navigation-active #hero-top .breadcrumb__item a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  color: var(--cmu-wine);
  font: inherit;
  text-decoration: none;
  overflow-wrap: anywhere;
}
body.cmu-navigation-active #hero-top .breadcrumb__item a:is(:hover, :focus, :active) {
  color: var(--cmu-wine-dark);
  text-decoration: underline;
  text-underline-offset: 4px;
}
body.cmu-navigation-active #hero-top .breadcrumb__item a:focus-visible {
  outline: 2px solid var(--cmu-wine);
  outline-offset: 3px;
  border-radius: 2px;
}
body.cmu-navigation-active #hero-top .breadcrumb__item a::after { content: none; }
body.cmu-navigation-active #hero-top .breadcrumb__item-separator {
  flex: 0 0 auto;
  margin: 0 10px 0 0;
  color: #847b7d;
  font-size: 12px;
}
body.cmu-navigation-active #hero-top .breadcrumb__item:first-child .breadcrumb__item-separator { display: none; }
body.cmu-navigation-active #hero-top .block-page-title-block {
  padding: 8px 0 12px;
  margin: 0;
}
body.cmu-navigation-active #hero-top h1.page-title {
  margin: 0;
  color: var(--cmu-ink);
  font: 600 clamp(28px, 2.5vw, 40px)/1.2 var(--cmu-nav-font);
  letter-spacing: -.025em;
}
body.cmu-navigation-active:not(.path-frontpage) #main-content { padding-top: 0; }
body.cmu-navigation-active:not(.path-frontpage) #main-content .main-content__section { padding-top: 32px; }

@media (hover: none), (pointer: coarse), (max-width: 640px) {
  body.cmu-navigation-active #hero-top .breadcrumb__item,
  body.cmu-navigation-active #hero-top .breadcrumb__item a { min-height: 44px; }
}
@media (max-width: 640px) {
  body.cmu-navigation-active:not(.path-frontpage) #hero-top { padding-block: 8px !important; }
  body.cmu-navigation-active #hero-top .breadcrumb__items { gap: 0 8px; }
  body.cmu-navigation-active #hero-top .breadcrumb__item { font-size: 13px; }
  body.cmu-navigation-active #hero-top .breadcrumb__item-separator { margin-right: 8px; }
  body.cmu-navigation-active:not(.path-frontpage) #main-content .main-content__section { padding-top: 24px; }
}

/* The theme's 15px negative row margins exceed our 12px phone edge.
   Keep that outer row inside the viewport without clipping focus rings. */
@media (max-width: 440px) {
  body.cmu-navigation-active:not(.path-frontpage) #main-content > .container > .main-content__container > .row,
  body.cmu-navigation-active:not(.path-frontpage) #hero-top .hero-top__container > .row {
    margin-inline: -12px;
  }
  body.cmu-navigation-active:not(.path-frontpage) #main-content > .container > .main-content__container > .row > [class*="col-"],
  body.cmu-navigation-active:not(.path-frontpage) #hero-top .hero-top__container > .row > [class*="col-"] {
    padding-inline: 12px;
  }
}
