/* ContractScope shared desktop navigation. Mobile uses the existing header/drawer. */
#cs-side-nav{display:none}
@media(min-width:769px){
  html.cs-sidebar-enabled body{padding-left:244px!important;transition:padding-left .22s ease;box-sizing:border-box}
  html.cs-sidebar-enabled.cs-sidebar-collapsed body{padding-left:76px!important}
  html.cs-sidebar-enabled #cs-header{display:none!important}
  #cs-side-nav{display:flex;position:fixed;inset:0 auto 0 0;width:244px;z-index:9990;
    background:#0b1526;border-right:1px solid #20334c;flex-direction:column;padding:18px 12px 14px;
    font-family:'DM Sans',sans-serif;box-shadow:8px 0 30px rgba(0,0,0,.13);overflow-y:auto;box-sizing:border-box;
    transition:width .22s ease;color:#e8edf5}
  .cs-sidebar-collapsed #cs-side-nav{width:76px}
  #cs-side-nav *{box-sizing:border-box}
  #cs-side-nav .cs-side-brand{display:flex;align-items:center;min-height:48px;padding:4px 6px;margin-bottom:20px;text-decoration:none}
  #cs-side-nav .cs-side-brand img{width:177px;height:auto;max-height:42px;object-fit:contain;object-position:left center}
  #cs-side-nav .cs-side-brand-small{display:none;width:43px;height:43px;object-fit:contain}
  #cs-side-nav .cs-side-caption{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#8093ae;padding:8px 11px;margin-bottom:7px}
  #cs-side-nav .cs-side-link{display:flex;align-items:center;gap:14px;min-height:56px;padding:11px 12px;margin:3px 0;
    border-radius:10px;text-decoration:none;color:#adbdd3;border:1px solid transparent;transition:background .17s,color .17s,border-color .17s}
  #cs-side-nav .cs-side-link:hover{background:#14283b;color:#fff}
  #cs-side-nav .cs-side-link[aria-current="page"]{background:#10344b;border-color:#1b5b79;color:#18c3f5}
  #cs-side-nav .cs-side-icon{flex:none;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}
  #cs-side-nav .cs-side-icon svg{width:27px;height:27px;stroke-width:1.8}
  #cs-side-nav .cs-side-label{font-size:13px;line-height:1.28;font-weight:600;white-space:normal}
  #cs-side-nav .cs-side-lock{margin-left:auto;opacity:.7;width:15px;height:15px;flex:none}
  #cs-side-nav .cs-side-bottom{margin-top:auto;padding-top:18px;border-top:1px solid #23334b}
  #cs-side-nav .cs-side-cta{background:#00aeef;color:#021523!important;justify-content:center;font-weight:700;border-radius:9px}
  #cs-side-nav .cs-side-cta:hover{background:#38caff}
  #cs-side-nav .cs-side-collapse{border:1px solid #304157;background:#122238;color:#b4c4d9;cursor:pointer;border-radius:9px;
    padding:9px 12px;width:100%;display:flex;align-items:center;gap:12px;font:600 12px 'DM Sans',sans-serif;margin-top:10px}
  .cs-sidebar-collapsed #cs-side-nav .cs-side-brand img:not(.cs-side-brand-small),
  .cs-sidebar-collapsed #cs-side-nav .cs-side-caption,
  .cs-sidebar-collapsed #cs-side-nav .cs-side-label,
  .cs-sidebar-collapsed #cs-side-nav .cs-side-lock,
  .cs-sidebar-collapsed #cs-side-nav .cs-side-collapse-label{display:none}
  .cs-sidebar-collapsed #cs-side-nav .cs-side-brand-small{display:block}
  .cs-sidebar-collapsed #cs-side-nav .cs-side-link{justify-content:center;padding:12px 6px}
  .cs-sidebar-collapsed #cs-side-nav .cs-side-collapse{justify-content:center}
  .cs-sidebar-collapsed #cs-side-nav .cs-side-brand{justify-content:center}
  html.cs-sidebar-enabled body > .hero,html.cs-sidebar-enabled body > main{max-width:100%}
}
@media(prefers-reduced-motion:reduce){#cs-side-nav,html.cs-sidebar-enabled body{transition:none!important}}

/* v1.4 layout correction: isolate side navigation from each page's generic nav/svg rules. */
@media (min-width:769px) {
  #cs-side-nav { overflow-x:hidden; overflow-y:auto; }
  #cs-side-nav #cs-side-links { display:flex !important; flex-direction:column !important; align-items:stretch !important; justify-content:flex-start !important; gap:3px !important; width:100%; min-width:0; flex:0 0 auto; }
  #cs-side-nav .cs-side-link { width:100%; min-width:0; flex:0 0 auto; justify-content:flex-start; }
  #cs-side-nav .cs-side-label { display:block; flex:1 1 auto; min-width:0; overflow-wrap:break-word; }
  #cs-side-nav .cs-side-bottom { width:100%; min-width:0; flex:0 0 auto; }
  #cs-side-nav .cs-side-bottom .cs-side-link { display:flex; }
  #cs-side-nav .cs-side-collapse { min-height:44px; max-height:48px; flex:0 0 auto; padding:9px 12px; }
  #cs-side-nav .cs-side-collapse > svg { width:20px !important; height:20px !important; flex:0 0 20px; stroke-width:1.8; }
  #cs-side-nav .cs-side-lock > svg { width:14px !important; height:14px !important; }
  #cs-side-nav .cs-side-cta { justify-content:flex-start; }
  .cs-sidebar-collapsed #cs-side-nav .cs-side-link { justify-content:center; }
  .cs-sidebar-collapsed #cs-side-nav .cs-side-collapse { justify-content:center; }
  .cs-sidebar-collapsed #cs-side-nav .cs-side-label { display:none; }
  .cs-sidebar-collapsed #cs-side-nav .cs-side-cta { justify-content:center; }
}

/* v1.5: icon-only collapse toggle in the brand row. */
@media (min-width:769px) {
  #cs-side-nav { position:fixed; }
  #cs-side-nav .cs-side-brand { margin-right:32px; min-width:0; }
  #cs-side-nav .cs-side-brand img:not(.cs-side-brand-small) { max-width:100%; }
  #cs-side-nav .cs-side-collapse {
    position:absolute; top:25px; right:12px; width:30px; height:30px; min-height:30px; max-height:30px;
    padding:0; margin:0; display:flex; justify-content:center; align-items:center; gap:0; flex:none;
    border:1px solid #304157; border-radius:7px; background:#122238;
  }
  #cs-side-nav .cs-side-collapse:hover { background:#1b3650; color:#fff; }
  #cs-side-nav .cs-side-collapse:focus-visible { outline:2px solid #00aeef; outline-offset:2px; }
  #cs-side-nav .cs-side-collapse > svg { width:18px !important; height:18px !important; flex:0 0 18px; }
  .cs-sidebar-collapsed #cs-side-nav .cs-side-brand { margin-right:0; justify-content:center; }
  .cs-sidebar-collapsed #cs-side-nav .cs-side-collapse { top:76px; right:23px; justify-content:center; }
  .cs-sidebar-collapsed #cs-side-nav #cs-side-links { margin-top:35px; }
}

/* v1.6 – edge-mounted navigation toggle, always visible beside the rail. */
@media (min-width:769px) {
  #cs-side-nav { overflow:visible !important; }
  #cs-side-nav .cs-side-collapse,
  .cs-sidebar-collapsed #cs-side-nav .cs-side-collapse {
    top:25px; right:-15px; left:auto; z-index:2;
    width:30px; height:30px; border-radius:50%;
    background:#0b1526; border:1px solid #93a3bb;
    box-shadow:0 2px 8px rgba(0,0,0,.45);
  }
  .cs-sidebar-collapsed #cs-side-nav #cs-side-links { margin-top:0; }
  #cs-side-nav .cs-side-brand { margin-right:23px; }
  .cs-sidebar-collapsed #cs-side-nav .cs-side-brand { margin-right:0; }
}
/* Market's heading, report description, filters and KPIs share the same grid. */
@media (min-width:769px) {
  html.cs-sidebar-enabled body:has(#heroSection) #heroSection { padding:36px 40px 16px; }
  html.cs-sidebar-enabled body:has(#heroSection) #heroSection .hero-inner {
    max-width:1220px; width:100%; margin:0 auto;
  }
  html.cs-sidebar-enabled body:has(#heroSection) #mainContent { max-width:1300px; }
  html.cs-sidebar-enabled body:has(#heroSection) #purposeSection { max-width:1300px !important; padding:0 40px !important; }
}

/* v1.7: align Executive Intelligence to Market's centered content rail. */
@media (min-width:769px) {
  html.cs-sidebar-enabled body:has(#mainContent .hero-left) #mainContent {
    width:100% !important;
    max-width:1300px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:40px !important;
    padding-right:40px !important;
  }
  html.cs-sidebar-enabled body:has(#mainContent .hero-left) #purposeSection {
    width:100%;
  }
  /* Keep the toggle below the logo, mounted on the rail edge. */
  #cs-side-nav .cs-side-collapse,
  .cs-sidebar-collapsed #cs-side-nav .cs-side-collapse {
    top:72px !important;
    right:-15px !important;
  }
  .cs-sidebar-collapsed #cs-side-nav #cs-side-links {
    margin-top:28px;
  }
}

/* v1.8 — consistent company report content width and accessible locked navigation. */
@media (min-width:769px) {
  html.cs-sidebar-enabled body:has(#report) > main {
    width:100% !important;
    max-width:1300px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:40px !important;
    padding-right:40px !important;
    box-sizing:border-box !important;
    flex:1 0 auto;
  }
  html.cs-sidebar-enabled body:has(#report) #purposeSection { width:100%; }
  #cs-side-nav .cs-side-locked {
    position:relative;
    color:#8293ab !important;
    cursor:help !important;
    user-select:none;
  }
  #cs-side-nav .cs-side-locked:hover,
  #cs-side-nav .cs-side-locked:focus-visible { background:#14263b; color:#c6d4e7 !important; }
  #cs-side-nav .cs-side-locked:focus-visible { outline:2px solid #00aeef; outline-offset:2px; }
  #cs-side-nav .cs-side-locked .cs-side-lock { color:#f0aa45; opacity:1; }
  #cs-side-nav .cs-side-locked::after {
    content:attr(data-tooltip);
    position:absolute;
    z-index:100;
    left:calc(100% + 12px);
    top:50%;
    transform:translateY(-50%);
    padding:9px 12px;
    border-radius:8px;
    border:1px solid #3a516b;
    background:#142238;
    color:#ecf4ff;
    font:600 12px 'DM Sans',sans-serif;
    white-space:nowrap;
    box-shadow:0 8px 20px rgba(0,0,0,.35);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .14s ease;
  }
  #cs-side-nav .cs-side-locked:hover::after,
  #cs-side-nav .cs-side-locked:focus-visible::after { opacity:1;visibility:visible; }
  .cs-sidebar-collapsed #cs-side-nav .cs-side-locked .cs-side-lock { display:none; }
}

/* v1.9: Agency Detail uses the shared centered 1300px content rail. */
@media (min-width:769px) {
  html.cs-sidebar-enabled body:has(#pageEyebrow) > main#mainContent {
    width:100% !important;
    max-width:1300px !important;
    margin-inline:auto !important;
    padding-inline:40px !important;
    box-sizing:border-box !important;
  }
  html.cs-sidebar-enabled body:has(#pageEyebrow) #purposeSection { width:100%; max-width:100%; }
}
@media(max-width:768px) {
  html.cs-sidebar-enabled body:has(#pageEyebrow) main#mainContent {
    width:100%;max-width:100%;padding-inline:16px;box-sizing:border-box;
  }
}
