/* Linker docs layout: matches the garhe.ch design tokens */
.docs-body { background: #FDFBF4; }
.docs-shell { max-width: 1200px; margin: 0 auto; padding: 110px 24px 64px; display: flex; gap: 44px; align-items: flex-start; }
.docs-sidebar { flex: 0 0 220px; position: sticky; top: 96px; display: flex; flex-direction: column; gap: 2px; }
.docs-product { margin: 0 0 10px; font-weight: 800; font-size: 17px; color: #14335C; letter-spacing: -0.02em; }
.docs-product span { color: #55637A; font-weight: 400; }
.doc-nav-link { display: block; padding: 7px 12px; border-radius: 8px; font-size: 14px; color: #55637A; text-decoration: none; }
.doc-nav-link:hover { background: #F5EFDD; color: #14335C; }
.doc-nav-link.active { background: #F2C94C; color: #14335C; font-weight: 600; }
.docs-main { flex: 1; min-width: 0; max-width: 760px; color: #2B3A50; font-size: 15.5px; line-height: 1.65; }
.docs-main h1 { margin: 0 0 18px; font-size: clamp(26px, 3.4vw, 36px); font-weight: 800; letter-spacing: -0.02em; color: #14335C; }
.docs-main h2 { margin: 34px 0 10px; font-size: 21px; font-weight: 700; letter-spacing: -0.01em; color: #14335C; }
.docs-main h3 { margin: 24px 0 8px; font-size: 16.5px; font-weight: 700; color: #14335C; }
.docs-main a { color: #14335C; font-weight: 600; }
.docs-main img { max-width: 100%; height: auto; border: 1px solid #ECE6D4; border-radius: 12px; margin: 10px 0 4px; background: #FFFFFF; }
.docs-main table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 14.5px; }
.docs-main th { text-align: left; padding: 9px 12px; background: #F5EFDD; color: #14335C; font-weight: 700; border-bottom: 2px solid #ECE6D4; }
.docs-main td { padding: 10px 12px; border-bottom: 1px solid #ECE6D4; vertical-align: top; }
.docs-main code { font-family: "IBM Plex Mono", monospace; font-size: 13.5px; background: #F5EFDD; padding: 1px 6px; border-radius: 5px; }
.docs-main .lead { font-size: 17px; line-height: 1.6; color: #55637A; margin: 0 0 20px; }
.docs-main details.adv { border: 1px solid #ECE6D4; border-radius: 10px; margin: 12px 0; padding: 0; font-size: 13.5px; color: #55637A; background: #FFFFFF; }
.docs-main details.adv summary { cursor: pointer; padding: 9px 14px; font-weight: 600; color: #55637A; list-style-position: inside; }
.docs-main details.adv summary:hover { color: #14335C; }
.docs-main details.adv[open] summary { border-bottom: 1px solid #ECE6D4; }
.docs-main details.adv > *:not(summary) { margin: 10px 14px; }
.callout { border-radius: 12px; padding: 14px 18px; margin: 14px 0; font-size: 14.5px; }
.callout strong:first-child { display: inline; }
.callout.info { background: #EAF1FB; border: 1px solid #C9DAF2; }
.callout.tip { background: #EAF7EE; border: 1px solid #C8E8D2; }
.callout.warn { background: #FCEFEA; border: 1px solid #F3CFC2; }
.callout.note { background: #F5EFDD; border: 1px solid #ECE6D4; }
.steps { counter-reset: step; list-style: none; margin: 16px 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.steps > li { position: relative; padding-left: 46px; }
.steps > li::before { counter-increment: step; content: counter(step); position: absolute; left: 0; top: 0;
  width: 30px; height: 30px; border-radius: 99px; background: #F2C94C; border: 1.5px solid #14335C;
  display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px; color: #14335C; }
.steps > li > strong:first-child { display: block; color: #14335C; margin-bottom: 2px; }
.steps > li strong { color: #14335C; }
@media (max-width: 860px) { .docs-shell { flex-direction: column; } .docs-sidebar { position: static; flex-direction: row; flex-wrap: wrap; } }

/* Docs pages have no hero: force the solid header style from the start */
.docs-body .site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 50; }
.docs-body .site-header .bar { background: #FFFFFF; border-bottom: 1px solid #ECE6D4; box-shadow: 0 2px 10px rgba(20, 51, 92, 0.05); }
.docs-body .site-header .brand-main, .docs-body .site-header .brand-sub { color: #14335C; }
.docs-body .site-header .brand-dot { background: #14335C; }
.docs-body .site-header .site-nav a { color: #14335C; }
