/* Shared navigation shell for the Intelligence Cloud Partner Playbook.
   Injected by nav.js around each page's existing content. Deliberately
   does not touch body/html rules so it never fights a page's own styles. */

.shell-frame {
  display: flex;
  min-height: 100vh;
  align-items: stretch;
}

.shell-sidebar {
  width: 240px;
  flex: 0 0 240px;
  background: #1A2332;
  color: #FFFFFF;
  padding: 26px 0;
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}

.shell-brand {
  padding: 0 24px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  margin-bottom: 12px;
}

.shell-mark {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 800;
  letter-spacing: 0.08em;
  font-size: 15px;
}

.shell-sub {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 11.5px;
  color: #7E879D;
  margin-top: 4px;
}

.shell-nav { flex: 1; }

.nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-list.level-0 > .nav-item > .nav-link {
  font-weight: 700;
  font-size: 14px;
}

.nav-item { border-left: 3px solid transparent; }

.nav-item.level-1,
.nav-list.level-1 { }

.nav-list.level-1 .nav-link,
.nav-list.level-2 .nav-link {
  font-weight: 500;
  font-size: 12.5px;
  padding-left: 40px;
}

.nav-list.level-2 .nav-link { padding-left: 56px; }

.nav-link {
  display: block;
  padding: 11px 24px;
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  font-family: 'Montserrat', system-ui, sans-serif;
  line-height: 1.3;
}

.nav-link:hover { color: #FFFFFF; }

.nav-item.current > .nav-link {
  color: #FFFFFF;
  background: rgba(255, 255, 255, 0.06);
}

.nav-list.level-0 > .nav-item.current { border-left-color: #4A90E2; }
.nav-list.level-0 > .nav-item.open > .nav-link { color: #FFFFFF; }

.nav-tag {
  display: inline-block;
  margin-left: 6px;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  background: rgba(74, 144, 226, 0.22);
  color: #7FB0EA;
  padding: 1px 6px;
  border-radius: 8px;
  vertical-align: middle;
}

.shell-footnote {
  margin-top: auto;
  padding: 16px 24px 0;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 10.5px;
  color: #7E879D;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  line-height: 1.5;
}

.shell-main {
  flex: 1;
  min-width: 0;
}

.shell-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 44px;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 12.5px;
  background: #F7F8FA;
  border-bottom: 1px solid #E3E7EE;
  color: #5F6B7E;
  flex-wrap: wrap;
}

.crumb-link { color: #2F6FB5; text-decoration: none; }
.crumb-link:hover { color: #1F4C82; text-decoration: underline; }
.crumb-current { color: #1A2332; font-weight: 700; }
.crumb-sep { color: #8B95A5; }

.shell-topbar { display: none; }

@media (max-width: 860px) {
  .shell-frame { flex-direction: column; }

  .shell-sidebar {
    position: static;
    height: auto;
    width: auto;
    flex: none;
    order: 2;
    display: none;
    padding: 0;
  }

  body.shell-nav-open .shell-sidebar {
    display: flex;
    max-height: 70vh;
    overflow-y: auto;
    padding: 18px 0;
  }

  .shell-main { order: 3; }

  .shell-breadcrumb { padding: 10px 20px; }

  .shell-topbar {
    display: flex;
    align-items: center;
    gap: 12px;
    order: 1;
    position: sticky;
    top: 0;
    z-index: 20;
    background: #1A2332;
    color: #FFFFFF;
    padding: 12px 18px;
    font-family: 'Montserrat', system-ui, sans-serif;
  }

  .shell-topbar-mark {
    font-weight: 800;
    letter-spacing: 0.08em;
    font-size: 13px;
  }

  .shell-topbar-section {
    margin-left: auto;
    font-size: 12.5px;
    color: #C9D2E0;
  }

  .shell-toggle {
    background: none;
    border: none;
    padding: 4px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    cursor: pointer;
  }

  .shell-toggle-bars,
  .shell-toggle-bars::before,
  .shell-toggle-bars::after {
    content: "";
    display: block;
    width: 20px;
    height: 2px;
    background: #FFFFFF;
  }

  .shell-toggle-bars::before { margin-top: 4px; }
  .shell-toggle-bars::after { margin-top: 4px; }
}

.shell-next-label {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7E879D;
  margin-bottom: 10px;
}

.shell-next-links {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.shell-next-link {
  flex: 1;
  min-width: 220px;
  display: block;
  background: #FFFFFF;
  border: 1px solid #E3E7EE;
  border-radius: 10px;
  padding: 16px 18px;
  text-decoration: none;
  color: #1A2332;
  font-family: 'Montserrat', system-ui, sans-serif;
  transition: border-color 0.15s;
}

.shell-next-link:hover { border-color: #4A90E2; }

.shell-next-link .t {
  display: block;
  font-weight: 700;
  font-size: 14.5px;
}

.shell-next-link .s {
  display: block;
  font-size: 12.5px;
  color: #5F6B7E;
  margin-top: 3px;
  line-height: 1.4;
}

@media print {
  .shell-sidebar,
  .shell-topbar,
  .shell-breadcrumb,
  .shell-next {
    display: none !important;
  }

  .shell-frame {
    display: block;
  }

  .shell-main {
    margin: 0;
  }
}

/* --- added with the section-landing rebuild --- */
.nav-link { min-height: 44px; display: flex; align-items: center; }
.nav-link:focus-visible,
.crumb-link:focus-visible,
.shell-next-link:focus-visible,
.shell-toggle:focus-visible { outline: 3px solid #4A90E2; outline-offset: 2px; }
.shell-toggle { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
.shell-sidebar { font-family: 'Montserrat', system-ui, sans-serif; }
@media (prefers-reduced-motion: reduce) {
  .shell-next-link { transition: none; }
}

/* download control, screen only */
.pb-dl{position:fixed;right:14px;bottom:62px;z-index:9999;display:inline-flex;align-items:center;gap:9px;
  background:#F5A623;color:#1A2332;font:800 11.5px Montserrat,system-ui,sans-serif;letter-spacing:.07em;
  text-transform:uppercase;padding:11px 15px;border-radius:10px;text-decoration:none;
  box-shadow:0 10px 26px rgba(26,35,50,.32)}
.pb-dl:hover{background:#1A2332;color:#fff}
.sheet .pb-dl,body.pb-handout .pb-dl{bottom:14px}
@media print{.pb-dl,.pb-home{display:none!important}}

/* ---- mounted on tresic.cloud: chrome overrides ---- */
.shell-breadcrumb{display:none !important}
.pb-masthead{position:sticky;top:0;z-index:60;padding:13px 0;box-shadow:0 2px 14px rgba(16,21,31,.18)}
.pb-masthead .pb-wrap{justify-content:flex-end}
.pb-masthead .doc{display:none}
.pb-masthead img{height:26px}
@media(max-width:860px){.pb-masthead img{height:22px}}
.pb-path{position:sticky;top:52px;z-index:59}
@media(max-width:860px){.pb-path{position:static}}
.shell-logo{display:block;width:176px;height:auto}
.shell-topbar-logo{display:block;width:124px;height:auto;margin-right:auto}
@media(max-width:860px){.pb-masthead{display:none}}
.shell-topbar-mark{display:none}
/* grid blowout on phones: 1fr tracks default to min-width auto, so a wide child stretches the row */
.pb-shotblock,.pb-shotblock.flip{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:880px){.pb-shotblock,.pb-shotblock.flip{grid-template-columns:minmax(0,1fr)}}
.pb-shottext,.pb-shot,.pb-wrap>*{min-width:0}
.pb-shot img{max-width:100%;height:auto}
/* the numbered strip needs to scroll on phones rather than stack on itself */
@media(max-width:860px){
  .pb-path .pb-wrap{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:14px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .pb-path .pb-wrap::-webkit-scrollbar{display:none}
  .pb-path .pb-wrap a{flex:0 0 auto;white-space:nowrap}
}
