/* Billtrust API reference chrome — balanced hybrid
   Plaid: calm surfaces, quiet borders
   Stripe: technical swagger body, clear method hierarchy
   Billtrust: ink header + green accent line + logo (not green wash)
*/

:root {
  --bt-green: #006E53;
  --bt-green-logo: #028758;
  --bt-green-bright: #38B270;
  --bt-ink: #001821;
  --bt-body: #45494C;
  --bt-muted: #59636e;
  --bt-border: #d0d7de;
  --bt-canvas: #f6f8fa;
  --bt-card: #ffffff;
  --bt-top-h: 56px;
  /* Stripe-ish method colors (not all green) */
  --m-get: #006E53;
  --m-post: #0a5ca8;
  --m-put: #7c5cbf;
  --m-patch: #9a5b00;
  --m-del: #b42318;
}

html {
  box-sizing: border-box;
  overflow-y: scroll;
}
*, *:before, *:after { box-sizing: inherit; }

body {
  margin: 0;
  background: var(--bt-canvas);
  font-family: Tahoma, "Segoe UI", system-ui, sans-serif;
  color: var(--bt-body);
}

/* ─── Top bar: ink + green hairline (matches MkDocs) ─── */
.bt-topbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  height: var(--bt-top-h);
  background: var(--bt-ink);
  color: #fff;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 16px 0 12px;
  border-bottom: 3px solid var(--bt-green-logo);
}

.bt-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: -0.2px;
  white-space: nowrap;
}
.bt-brand img {
  height: 36px;
  width: auto;
  display: block;
}

.bt-nav {
  display: flex;
  align-items: center;
  gap: 4px;
}
.bt-nav a {
  color: rgba(255,255,255,.88) !important;
  text-decoration: none !important;
  font-size: 13.5px;
  font-weight: 500;
  padding: 7px 12px;
  border-radius: 7px;
}
.bt-nav a:hover,
.bt-nav a.on {
  background: rgba(255,255,255,.10);
  color: #fff !important;
}

.bt-spacer { flex: 1; }

.bt-env-pill {
  font-size: 12px;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.9);
  background: rgba(255,255,255,.06);
}

.bt-local-banner {
  background: var(--bt-card);
  border-bottom: 1px solid var(--bt-border);
  border-left: 3px solid var(--bt-green-logo);
  color: var(--bt-ink);
  font-size: 13.5px;
  padding: 10px 16px;
  line-height: 1.45;
}
.bt-local-banner strong { color: var(--bt-green); }
.bt-local-banner code {
  font-family: Consolas, Monaco, monospace;
  font-size: 12.5px;
  background: var(--bt-canvas);
  border: 1px solid var(--bt-border);
  border-radius: 4px;
  padding: 1px 6px;
}

/* Swagger top strip — white, quiet */
.swagger-ui .topbar {
  background: var(--bt-card) !important;
  border-bottom: 1px solid var(--bt-border);
  padding: 10px 0;
  box-shadow: none;
}
.swagger-ui .topbar .download-url-wrapper .select-label {
  color: var(--bt-body);
  font-family: Tahoma, "Segoe UI", sans-serif;
}
.swagger-ui .topbar .download-url-wrapper input[type=text],
.swagger-ui .topbar .download-url-wrapper select {
  border-color: var(--bt-border);
}
.swagger-ui .topbar-wrapper img,
.swagger-ui .topbar .link span {
  visibility: hidden;
  width: 0;
  display: none;
}
.swagger-ui .topbar .link:after {
  content: "API reference";
  visibility: visible;
  color: var(--bt-ink);
  font-family: Tahoma, "Segoe UI", sans-serif;
  font-weight: 600;
  font-size: 15px;
}

.swagger-ui {
  font-family: Tahoma, "Segoe UI", system-ui, sans-serif !important;
  color: var(--bt-body);
  max-width: 1440px;
  margin: 0 auto;
}
.swagger-ui .information-container {
  padding-top: 12px;
}
.swagger-ui .info .title {
  color: var(--bt-green) !important;
  font-family: Tahoma, "Segoe UI", sans-serif !important;
  font-weight: 500 !important;
  border-bottom: 3px solid var(--bt-green-logo);
  padding-bottom: 12px;
  display: inline-block;
  margin-bottom: 8px;
}
/* Version stamp next to title — was whitened out (light on light) */
.swagger-ui .info .title small,
.swagger-ui .info .title small.version-stamp {
  background: #001821 !important;
  border: 1px solid #001821 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  vertical-align: middle !important;
  top: -2px !important;
  position: relative !important;
}
.swagger-ui .info .title small pre {
  margin: 0 !important;
  padding: 0 !important;
  font-family: Tahoma, "Segoe UI", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #fff !important;
  background: transparent !important;
  border: none !important;
}
.swagger-ui a {
  color: var(--bt-green) !important;
}
.swagger-ui .btn.authorize {
  border-color: var(--bt-ink) !important;
  color: var(--bt-ink) !important;
  background: #fff;
}
.swagger-ui .btn.authorize svg {
  fill: var(--bt-ink) !important;
}
.swagger-ui .btn.execute {
  background-color: var(--bt-green) !important;
  border-color: var(--bt-green) !important;
}
.swagger-ui .btn.execute:hover {
  background-color: #004C51 !important;
}

/* Method badges — multi-color like Stripe/Swagger convention */
.swagger-ui .opblock {
  border-radius: 8px;
  box-shadow: none;
  margin: 0 0 10px;
  border-width: 1px;
}
.swagger-ui .opblock .opblock-summary {
  border-radius: 8px;
  padding: 8px;
}
.swagger-ui .opblock .opblock-summary-method {
  font-family: Consolas, Monaco, monospace;
  font-weight: 700;
  min-width: 64px;
  border-radius: 4px;
}
.swagger-ui .opblock.opblock-get {
  border-color: #c6e3d6;
  background: #fff;
}
.swagger-ui .opblock.opblock-get .opblock-summary-method { background: var(--m-get); }
.swagger-ui .opblock.opblock-post {
  border-color: #c9daf0;
  background: #fff;
}
.swagger-ui .opblock.opblock-post .opblock-summary-method { background: var(--m-post); }
.swagger-ui .opblock.opblock-put {
  border-color: #ddd4f0;
  background: #fff;
}
.swagger-ui .opblock.opblock-put .opblock-summary-method { background: var(--m-put); }
.swagger-ui .opblock.opblock-patch {
  border-color: #f0e2c4;
  background: #fff;
}
.swagger-ui .opblock.opblock-patch .opblock-summary-method { background: var(--m-patch); }
.swagger-ui .opblock.opblock-delete {
  border-color: #f0d0cc;
  background: #fff;
}
.swagger-ui .opblock.opblock-delete .opblock-summary-method { background: var(--m-del); }

.swagger-ui .opblock.is-open {
  border-color: var(--bt-border);
}
.swagger-ui .opblock.is-open .opblock-summary {
  border-bottom: 1px solid var(--bt-border);
}
.swagger-ui .scheme-container {
  background: var(--bt-card);
  box-shadow: none;
  border-bottom: 1px solid var(--bt-border);
  margin: 0 0 12px;
}
.swagger-ui section.models {
  border: 1px solid var(--bt-border);
  border-radius: 8px;
  background: var(--bt-card);
}
.swagger-ui section.models h4 {
  color: var(--bt-ink);
}
.swagger-ui .model-box-control:focus,
.swagger-ui .models-control:focus,
.swagger-ui .opblock-summary-control:focus {
  outline: 2px solid rgba(0, 110, 83, 0.35);
  outline-offset: 1px;
}
.swagger-ui .tab li.active {
  color: var(--bt-ink);
}
.swagger-ui .response-col_status {
  color: var(--bt-ink);
}
/* Code samples inside swagger — closer to Stripe dark rail */
.swagger-ui .highlight-code,
.swagger-ui .microlight {
  background: #0a2540 !important;
  border-radius: 8px;
}
.swagger-ui .microlight {
  color: #e6edf3;
}

@media (max-width: 720px) {
  .bt-nav { display: none; }
  .bt-brand span { display: none; }
}
