/* ============================================================
   Thaïs Partner API — Thème Swagger UI
   Couleur principale : #1692FF
   Police : TT Norms Pro (TypeType)
   Thème : clair
   ============================================================ */

/* --- Police TT Norms Pro --- */
@font-face {
  font-family: 'TT Norms Pro';
  src: url('https://thais-pms.com/_nuxt/fonts/typetype_-_tt_norms_pro_regular-webfont.b4f2615.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'TT Norms Pro';
  src: url('https://thais-pms.com/_nuxt/fonts/typetype_-_tt_norms_pro_demibold-webfont.3f34ff2.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* --- Reset global --- */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  font-family: 'TT Norms Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background-color: #f8f9fb;
  color: #1a2332;
  line-height: 1.6;
}

/* ============================================================
   TOPBAR PERSONNALISÉE
   ============================================================ */
.custom-topbar {
  background: linear-gradient(to right, #ffffff 0%, #ffffff 160px, #1692FF 340px);
  padding: 0 24px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 2px 8px rgba(22, 146, 255, 0.25);
}

.topbar-logo {
  height: 34px;
  width: auto;
  display: block;
}

.topbar-logo:hover {
  opacity: 0.85;
  transition: opacity 0.2s ease;
}

.topbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.btn-download {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border-radius: 6px;
  font-family: 'TT Norms Pro', sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, opacity 0.2s ease;
  white-space: nowrap;
  border: 1.5px solid rgba(255, 255, 255, 0.7);
  color: #ffffff;
  background-color: transparent;
}

.btn-download:hover {
  background-color: rgba(255, 255, 255, 0.15);
  border-color: #ffffff;
}

.btn-download svg {
  flex-shrink: 0;
}

/* Boutons de navigation (mcp-thais.html, webhook.html) — mêmes styles que .btn-download */
.btn-nav {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border-radius: 6px;
  font-family: 'TT Norms Pro', sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, opacity 0.2s ease;
  white-space: nowrap;
  border: 1.5px solid rgba(255, 255, 255, 0.7);
  color: #ffffff;
  background-color: transparent;
}

.btn-nav:hover {
  background-color: rgba(255, 255, 255, 0.15);
  border-color: #ffffff;
}

.btn-nav.active {
  background-color: rgba(255, 255, 255, 0.25);
  border-color: #ffffff;
}

/* ============================================================
   SWAGGER UI — OVERRIDES GÉNÉRAUX
   ============================================================ */

/* Police globale */
.swagger-ui,
.swagger-ui .info,
.swagger-ui .info li,
.swagger-ui .info p,
.swagger-ui .info table,
.swagger-ui .opblock,
.swagger-ui select,
.swagger-ui input,
.swagger-ui textarea,
.swagger-ui label,
.swagger-ui button,
.swagger-ui .btn,
.swagger-ui .tab li,
.swagger-ui .opblock-tag {
  font-family: 'TT Norms Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Conteneur principal */
.swagger-ui .wrapper {
  padding: 0 24px;
  max-width: 1400px;
}

/* Fond de page */
.swagger-ui {
  background-color: #f8f9fb;
}

/* --- Titre & info --- */
.swagger-ui .info .title {
  font-family: 'TT Norms Pro', sans-serif !important;
  font-weight: 600;
  color: #1a2332;
}

.swagger-ui .info a {
  color: #1692FF;
  text-decoration: none;
}

.swagger-ui .info a:hover {
  text-decoration: underline;
}

/* --- Tags (sections) --- */
.swagger-ui .opblock-tag {
  font-family: 'TT Norms Pro', sans-serif !important;
  font-weight: 600;
  color: #1a2332;
  border-bottom: 2px solid #e8ecf0;
  padding-bottom: 8px;
}

.swagger-ui .opblock-tag:hover {
  background: rgba(22, 146, 255, 0.04);
}

/* ============================================================
   BLOCS HTTP METHODS
   ============================================================ */

/* GET */
.swagger-ui .opblock.opblock-get {
  border-color: #1692FF;
  background: rgba(22, 146, 255, 0.04);
}
.swagger-ui .opblock.opblock-get .opblock-summary-method {
  background-color: #1692FF;
}
.swagger-ui .opblock.opblock-get .opblock-summary {
  border-color: #1692FF;
}

/* POST */
.swagger-ui .opblock.opblock-post {
  border-color: #27ae60;
  background: rgba(39, 174, 96, 0.04);
}
.swagger-ui .opblock.opblock-post .opblock-summary-method {
  background-color: #27ae60;
}
.swagger-ui .opblock.opblock-post .opblock-summary {
  border-color: #27ae60;
}

/* PUT */
.swagger-ui .opblock.opblock-put {
  border-color: #e67e22;
  background: rgba(230, 126, 34, 0.04);
}
.swagger-ui .opblock.opblock-put .opblock-summary-method {
  background-color: #e67e22;
}
.swagger-ui .opblock.opblock-put .opblock-summary {
  border-color: #e67e22;
}

/* PATCH */
.swagger-ui .opblock.opblock-patch {
  border-color: #8e44ad;
  background: rgba(142, 68, 173, 0.04);
}
.swagger-ui .opblock.opblock-patch .opblock-summary-method {
  background-color: #8e44ad;
}
.swagger-ui .opblock.opblock-patch .opblock-summary {
  border-color: #8e44ad;
}

/* DELETE */
.swagger-ui .opblock.opblock-delete {
  border-color: #e74c3c;
  background: rgba(231, 76, 60, 0.04);
}
.swagger-ui .opblock.opblock-delete .opblock-summary-method {
  background-color: #e74c3c;
}
.swagger-ui .opblock.opblock-delete .opblock-summary {
  border-color: #e74c3c;
}

/* ============================================================
   BOUTONS
   ============================================================ */

/* Bouton Authorize */
.swagger-ui .btn.authorize {
  color: #1692FF;
  border-color: #1692FF;
  font-family: 'TT Norms Pro', sans-serif !important;
  font-weight: 600;
}

.swagger-ui .btn.authorize:hover {
  background-color: rgba(22, 146, 255, 0.06);
}

.swagger-ui .btn.authorize svg {
  fill: #1692FF;
}

/* Bouton Execute */
.swagger-ui .btn.execute {
  background-color: #1692FF;
  border-color: #1692FF;
  color: #ffffff;
  font-family: 'TT Norms Pro', sans-serif !important;
  font-weight: 600;
}

.swagger-ui .btn.execute:hover {
  background-color: #0e7de0;
  border-color: #0e7de0;
}

/* Bouton Try it out */
.swagger-ui .try-out__btn {
  border-color: #1692FF;
  color: #1692FF;
  font-family: 'TT Norms Pro', sans-serif !important;
  font-weight: 600;
}

.swagger-ui .try-out__btn:hover {
  background-color: rgba(22, 146, 255, 0.06);
}

/* Bouton Cancel */
.swagger-ui .try-out__btn.cancel {
  border-color: #e74c3c;
  color: #e74c3c;
}

/* Boutons génériques */
.swagger-ui .btn {
  font-family: 'TT Norms Pro', sans-serif !important;
  border-radius: 6px;
}

/* ============================================================
   MODAL D'AUTORISATION
   ============================================================ */
.swagger-ui .dialog-ux .modal-ux-header {
  background-color: #1692FF;
}

.swagger-ui .dialog-ux .modal-ux-header h3 {
  color: #ffffff;
  font-family: 'TT Norms Pro', sans-serif !important;
  font-weight: 600;
}

.swagger-ui .dialog-ux .modal-ux-header .close-modal {
  filter: brightness(0) invert(1);
}

.swagger-ui .auth-container .authorize {
  background-color: #1692FF;
  color: #ffffff;
  border-color: #1692FF;
}

.swagger-ui .auth-container .authorize:hover {
  background-color: #0e7de0;
}

/* ============================================================
   PARAMÈTRES ET INPUTS
   ============================================================ */
.swagger-ui input[type="text"],
.swagger-ui input[type="password"],
.swagger-ui input[type="search"],
.swagger-ui textarea,
.swagger-ui select {
  border: 1px solid #d0d7de;
  border-radius: 6px;
  font-family: 'TT Norms Pro', sans-serif !important;
  transition: border-color 0.2s ease;
}

.swagger-ui input[type="text"]:focus,
.swagger-ui input[type="password"]:focus,
.swagger-ui textarea:focus,
.swagger-ui select:focus {
  border-color: #1692FF;
  outline: none;
  box-shadow: 0 0 0 3px rgba(22, 146, 255, 0.12);
}

/* ============================================================
   RÉPONSES
   ============================================================ */
.swagger-ui .responses-inner h4,
.swagger-ui .responses-inner h5 {
  font-family: 'TT Norms Pro', sans-serif !important;
  font-weight: 600;
}

.swagger-ui .response-col_status {
  font-family: 'TT Norms Pro', sans-serif !important;
  font-weight: 600;
}

/* Codes HTTP couleurs */
.swagger-ui .response-col_status .response-undocumented {
  color: #1692FF;
}

/* ============================================================
   SECTION MODELS / SCHÉMAS
   ============================================================ */
.swagger-ui section.models {
  border: 1px solid #e8ecf0;
  border-radius: 8px;
  background: #ffffff;
}

.swagger-ui section.models h4 {
  font-family: 'TT Norms Pro', sans-serif !important;
  font-weight: 600;
  color: #1a2332;
}

.swagger-ui .model-title {
  font-family: 'TT Norms Pro', sans-serif !important;
  font-weight: 600;
  color: #1692FF;
}

/* ============================================================
   BARRE DE FILTRE / RECHERCHE
   ============================================================ */
.swagger-ui .filter-container {
  background: #f0f4f8;
  padding: 12px 24px;
  border-bottom: 1px solid #e8ecf0;
}

.swagger-ui .operation-filter-input {
  border: 1px solid #d0d7de;
  border-radius: 6px;
  font-family: 'TT Norms Pro', sans-serif !important;
  width: 100%;
  max-width: 500px;
}

.swagger-ui .operation-filter-input:focus {
  border-color: #1692FF;
  box-shadow: 0 0 0 3px rgba(22, 146, 255, 0.12);
}

/* ============================================================
   BADGES & MISC
   ============================================================ */
.swagger-ui .opblock-summary-method {
  border-radius: 4px;
  font-family: 'TT Norms Pro', sans-serif !important;
  font-weight: 600;
  font-size: 13px;
  min-width: 68px;
  text-align: center;
  letter-spacing: 0.03em;
}

.swagger-ui .opblock-summary-path {
  font-family: 'TT Norms Pro', sans-serif !important;
}

.swagger-ui .opblock-summary-description {
  font-family: 'TT Norms Pro', sans-serif !important;
  color: #5a6a7a;
}

/* Code blocks */
.swagger-ui .microlight {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}

/* Scrollbar personnalisée */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #f0f4f8;
}

::-webkit-scrollbar-thumb {
  background: #c0cad4;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #1692FF;
}

