/* Documentation de l'API (adasms.ma/docs/, /en/docs/) — généré avec scripts/docs/build_api_docs.py.
   S'appuie sur les variables de assets/style.css. */
.api-hero{padding:96px 0 40px}
.api-hero .lead a{color:var(--teal-dk);text-decoration:none;font-weight:600}
.api-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:26px}
.api-cta .btn{line-height:1.2;padding:11px 22px;font-size:14px}
.api-base{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--text-md);background:#fff;border:1px solid var(--bd);border-radius:8px;padding:9px 13px}

.api-docs{padding:44px 0 88px}
.api-layout{display:grid;grid-template-columns:232px minmax(0,1fr);gap:48px;align-items:start}

.api-toc{position:sticky;top:88px;max-height:calc(100vh - 110px);overflow:auto;font-size:13.5px;border-right:1px solid var(--bd);padding-right:18px}
.api-toc summary{font-weight:700;color:var(--navy);cursor:pointer;list-style:none;padding:4px 0 10px;font-size:12px;letter-spacing:1.5px;text-transform:uppercase}
.api-toc summary::-webkit-details-marker{display:none}
.api-toc summary::after{content:"+";float:right;font-size:18px;font-weight:400;line-height:1;color:var(--teal);letter-spacing:0}
.api-toc[open] summary::after{content:"−"}
@media(min-width:961px){.api-toc summary{pointer-events:none}.api-toc summary::after{display:none}}
.api-toc ol{list-style:none;margin:0;padding:0}
.api-toc li{margin:0}
.api-toc a{display:block;padding:5px 10px;border-radius:7px;color:var(--text-md);text-decoration:none;line-height:1.35}
.api-toc a:hover{background:var(--bg-s);color:var(--navy)}
.api-toc .api-toc-g{margin-top:10px;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-lt);padding:6px 10px 2px}
.api-toc .api-toc-sub a{padding-left:18px;font-size:13px}
.api-toc .api-m{font-size:9.5px;padding:1px 5px;margin-right:6px;vertical-align:1px}

.api-content{min-width:0;color:var(--text-md);font-size:15px;line-height:1.75}
.api-content h2{font-size:26px;color:var(--navy);margin:56px 0 14px;padding-top:6px;scroll-margin-top:88px;line-height:1.25}
.api-content > section:first-child h2{margin-top:0}
.api-content h3{font-size:19px;color:var(--navy);margin:40px 0 10px;scroll-margin-top:88px;line-height:1.3}
.api-content h4{font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-mt);margin:26px 0 8px}
.api-content p{margin:0 0 14px}
.api-content ul,.api-content ol{margin:0 0 16px;padding-left:22px}
.api-content li{margin:4px 0}
.api-content a{color:var(--teal-dk);text-decoration:none;font-weight:600}
.api-content a:hover{text-decoration:underline}
.api-content code{font-family:'JetBrains Mono',monospace;font-size:.86em;background:var(--bg-s);border:1px solid var(--bd);border-radius:5px;padding:1px 5px;color:var(--navy);word-break:break-word}

.api-op{border-top:1px solid var(--bd);margin-top:40px}
.api-op h3{margin-top:30px}
.api-ep{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--bg-s);border:1px solid var(--bd);border-radius:10px;padding:11px 15px;margin:12px 0 16px}
.api-ep code{background:none;border:none;padding:0;font-size:14.5px;font-weight:600;word-break:break-all}
.api-m{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;letter-spacing:.5px;color:#fff;border-radius:5px;padding:2px 8px}
.api-m-get{background:#2563EB}
.api-m-post{background:#059669}
.api-rl{font-size:13.5px;color:var(--text-mt)}
.api-tag{display:inline-block;font-size:11px;font-weight:700;border-radius:100px;padding:1px 8px;background:#FEF3C7;color:#92400E;margin-left:6px;vertical-align:1px}

.api-tw{overflow-x:auto;margin:10px 0 18px;border:1px solid var(--bd);border-radius:10px}
.api-tw table{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.55}
.api-tw th{background:var(--bg-s);text-align:left;font-weight:700;color:var(--navy);padding:9px 13px;border-bottom:1px solid var(--bd);white-space:nowrap}
.api-tw td{padding:9px 13px;border-top:1px solid var(--bd);vertical-align:top}
.api-tw tr:first-child td{border-top:none}
.api-tw td:first-child{white-space:nowrap}
.api-tw td code{white-space:nowrap}
.api-tw td.api-desc code{white-space:normal}

.api-code{margin:10px 0 18px;border-radius:10px;overflow:hidden;background:#0D1B2A}
.api-code-h{display:flex;justify-content:space-between;align-items:center;padding:7px 12px 7px 16px;background:#162536;color:rgba(255,255,255,.55);font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.5px}
.api-copy{font-family:'Manrope',sans-serif;font-size:12px;font-weight:600;color:#fff;background:rgba(255,255,255,.12);border:none;border-radius:6px;padding:4px 11px;cursor:pointer}
.api-copy:hover{background:rgba(255,255,255,.2)}
.api-copy.ok{background:var(--teal);color:var(--navy)}
.api-code pre{margin:0;padding:14px 16px;overflow-x:auto;font-family:'JetBrains Mono',monospace;font-size:13px;line-height:1.65;color:#D6E2F0;white-space:pre}
.api-code pre code{background:none;border:none;padding:0;color:inherit;font-size:inherit;word-break:normal}
.api-cap{font-size:13px;font-weight:600;color:var(--text-mt);margin:14px 0 -4px}

.api-note{display:flex;gap:10px;background:var(--teal-ll);border:1px solid rgba(0,201,167,.3);border-left:3px solid var(--teal);border-radius:9px;padding:12px 16px;margin:14px 0 18px;font-size:14px}
.api-note.warn{background:#FFFBEB;border-color:#FCD34D;border-left-color:#D97706}
.api-note > span:first-child{font-weight:800;color:var(--teal-dk)}
.api-note.warn > span:first-child{color:#B45309}

.api-content details.api-more{border:1px solid var(--bd);border-radius:10px;margin:10px 0 18px;background:#fff}
.api-content details.api-more > summary{cursor:pointer;padding:10px 14px;font-weight:700;color:var(--navy);font-size:14px}
.api-content details.api-more[open] > summary{border-bottom:1px solid var(--bd)}
.api-content details.api-more .api-tw{border:none;margin:0;border-radius:0}
.api-content details.api-more .api-code{margin:0;border-radius:0 0 10px 10px}

@media(max-width:960px){
  .api-layout{grid-template-columns:minmax(0,1fr);gap:20px}
  .api-toc{position:static;max-height:none;border-right:none;border:1px solid var(--bd);border-radius:10px;padding:10px 12px;background:#fff}
  .api-toc summary{padding:2px 0}
  .api-toc[open] summary{padding-bottom:8px}
}
@media(max-width:768px){
  /* Tableaux empilés : une carte par ligne, intitulé de colonne devant chaque valeur. */
  .api-tw{border:none;overflow:visible}
  .api-tw table,.api-tw tbody,.api-tw tr,.api-tw td{display:block;width:100%}
  .api-tw thead{display:none}
  .api-tw tr{border:1px solid var(--bd);border-radius:10px;margin-bottom:10px;padding:6px 0;background:#fff}
  .api-tw td,.api-tw tr:first-child td{border:none;padding:4px 14px;white-space:normal}
  .api-tw td:first-child{white-space:normal}
  .api-tw td::before{content:attr(data-label);display:block;font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-lt)}
  .api-tw td[data-label=""]::before{display:none}
  .api-tw td:nth-child(1),.api-tw td:nth-child(2){display:inline-block;width:auto;min-width:46%;vertical-align:top}
  .api-tw td code{white-space:normal;word-break:break-all}
  .api-content details.api-more .api-tw{padding:10px 10px 0}
  .api-hero{padding:88px 0 28px}
  .api-docs{padding:24px 0 64px}
  .api-content{font-size:14.5px}
  .api-content h2{font-size:22px;margin-top:44px}
  .api-content h3{font-size:17px}
  .api-base{font-size:12px;word-break:break-all}
  .api-code pre{font-size:12px}
}
