/*
 * F4IOZ site — SatMe's documentation and releases (pages/PagesDocSatme.kt): the guides with their table of contents on
 * the left, the search, the « previous / next » pages; the releases' cards and their notes.
 */
.doc { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 28px; align-items: start; }
.doc-cote { position: sticky; top: 14px; max-height: calc(100vh - 28px); overflow-y: auto; padding-right: 6px; font-size: 13.5px; scrollbar-width: thin; }
.doc-cherche { display: flex; gap: 6px; margin: 0 0 14px; }
.doc-cherche input { flex: 1 1 auto; min-width: 0; padding: 7px 10px; border: 1px solid var(--border); border-radius: var(--r-m); background: var(--well); color: var(--text); font: inherit; }
.doc-cherche input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--input-glow); }
.doc-cote .doc-cherche .btn { min-height: 34px; padding: 0 10px; font-size: 13px; }
.doc-cote .doc-cherche input { padding: 6px 8px; font-size: 13px; }
.page-head .doc-cherche { max-width: 560px; margin-top: 12px; }
.doc-liste, .doc-liste ol { list-style: none; margin: 0; padding: 0; }
.doc-liste > li > a { display: block; padding: 6px 10px; border-radius: var(--r-m); color: var(--text-dim); text-decoration: none; font-weight: 600; }
.doc-liste > li > a:hover { background: var(--panel); color: var(--text); }
.doc-liste > li.actuel > a { background: var(--accent-soft); color: var(--accent); }
.doc-toc { margin: 4px 0 10px 10px; }
.doc-toc > summary { padding: 4px 0; color: var(--text-muted); font-size: 11.5px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; cursor: pointer; }
.doc-toc ol { border-left: 1px solid var(--border); }
.doc-toc ol ol { border-left: 0; margin-left: 12px; font-size: 12.5px; }
.doc-toc a { display: block; padding: 3px 10px; margin-left: -1px; border-left: 2px solid transparent; color: var(--text-dim); text-decoration: none; line-height: 1.35; }
.doc-toc a:hover { color: var(--text); }
.doc-toc a.ici { border-left-color: var(--accent); color: var(--accent); }
.doc-pdf { margin: 14px 0 0; }
.doc-fil { margin: 0 0 8px; font-size: 13px; color: var(--text-muted); }
.doc-fil a { color: var(--text-dim); }
.doc-note { padding: 8px 12px; border: 1px solid var(--border); border-radius: var(--r-m); background: var(--panel); color: var(--text-dim); }
.doc-page { min-width: 0; }
.doc-corps { max-width: 900px; }
.doc-corps > h1:first-child { margin-top: 0; font-size: 30px; line-height: 1.2; }
.doc-corps h2, .doc-corps h3, .doc-corps h4 { scroll-margin-top: 16px; position: relative; }
.doc-corps h2 { padding-top: 10px; border-top: 1px solid var(--border); }
.doc-ancre { margin-left: 8px; color: var(--text-muted); text-decoration: none; font-weight: 400; opacity: 0; transition: opacity var(--anim); }
.doc-corps :is(h2, h3, h4):hover .doc-ancre, .doc-ancre:focus-visible { opacity: 1; }
.doc-corps pre { position: relative; line-height: 1.5; font-family: var(--font-mono); }
.doc-corps pre code { color: var(--text); background: none; border: 0; padding: 0; }
.doc-corps table { display: block; max-width: 100%; overflow-x: auto; margin: 12px 0; }
.doc-corps th { background: var(--panel-2); text-align: left; }
.doc-corps .fig-contenu { margin: 18px 0; }
.doc-corps .fig-contenu img { display: block; margin: 0 auto; max-height: 80vh; width: auto; }
.doc-corps .fig-contenu figcaption { margin-top: 6px; font-size: 13px; color: var(--text-dim); text-align: center; }
.doc-corps .galerie-contenu figcaption { display: none; }
.doc-corps mark, .doc-extrait mark { background: color-mix(in srgb, var(--sat) 35%, transparent); color: inherit; border-radius: 2px; }
.doc-copier { position: absolute; top: 6px; right: 6px; padding: 2px 8px; border: 1px solid var(--border); border-radius: var(--r-s); background: var(--panel); color: var(--text-dim);
  font: 12px var(--font-sans); cursor: pointer; opacity: .8; }
.doc-copier:hover { opacity: 1; color: var(--text); }
.doc-suite { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 30px 0 10px; max-width: 900px; }
.doc-suite a { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1px solid var(--border); border-radius: var(--r-l); background: var(--panel);
  text-decoration: none; color: var(--text); }
.doc-suite a:hover { border-color: var(--accent); }
.doc-suite a span { font-size: 12.5px; color: var(--text-dim); }
.doc-suiv { text-align: right; grid-column: 2; }
.doc-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 12px 0 18px; }
.doc-actions .doc-cherche { flex: 1 1 320px; max-width: 520px; margin: 0; }
.doc-guides-cartes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 12px; }
.doc-guide-carte { margin: 0; height: 100%; padding: 14px 16px; text-decoration: none; color: var(--text); gap: 4px; }
.doc-guide-carte:hover { border-color: var(--accent); }
.doc-guide-titre { font-weight: 700; color: var(--accent); }
.doc-guide-resume { font-size: 13.5px; color: var(--text-dim); }
.doc-total { color: var(--text-dim); }
.doc-resultats { list-style: none; margin: 0; padding: 0; }
.doc-res-titre { font-weight: 700; }
.doc-extrait { margin: 6px 0 0; font-size: 13.5px; color: var(--text-dim); }

/* The releases. */
.sv-liste { display: grid; gap: 12px; }
.sv-version { margin: 0; }
.sv-tete { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.sv-titre { margin: 0; font-size: 18px; }
.sv-produit { color: var(--accent); }
.sv-tete time { color: var(--text-dim); font-size: 13.5px; }
.sv-inclut { margin: 4px 0 0; font-size: 13px; }
.sv-notes { margin: 10px 0 0; }
.sv-notes > summary { cursor: pointer; font-weight: 600; color: var(--text); }
.sv-notes-corps { margin-top: 8px; font-size: 14.5px; line-height: 1.6; max-height: 70vh; overflow-y: auto; padding-right: 6px; }
.sv-historique .sv-notes-corps { max-height: none; }
.sv-notes-corps ul { padding-left: 1.2rem; }
.sv-notes-corps li { margin: 4px 0; }
.sv-fichiers { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 12px 0 0; }
.sv-fichiers .btn small { color: var(--text-muted); font-weight: 400; margin-left: 4px; }
.sv-sommes { font-size: 12.5px; }
.sv-liens { margin: 10px 0 0; font-size: 13px; }
.sv-liens a { display: inline-flex; align-items: center; gap: 6px; }
.sv-liens .ico { width: 15px; height: 15px; }

@media (max-width: 899px) {
  .doc { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .doc-cote { position: static; max-height: none; overflow: visible; padding: 0; }
  .doc-liste { display: flex; flex-wrap: wrap; gap: 4px; }
  .doc-liste > li > a { padding: 4px 10px; border: 1px solid var(--border); font-size: 12.5px; }
  .doc-liste > li.actuel { flex-basis: 100%; }
  .doc-toc { margin: 6px 0 0; padding: 6px 10px; border: 1px solid var(--border); border-radius: var(--r-m); background: var(--panel); }
  .doc-toc > summary { font-size: 13px; letter-spacing: 0; text-transform: none; color: var(--text); }
  .doc-corps > h1:first-child { font-size: 24px; }
}
@media (max-width: 519px) {
  .doc-suite { grid-template-columns: minmax(0, 1fr); }
  .doc-suiv { grid-column: 1; }
}
