/* ==========================================
   Dramaku API - Custom Swagger UI Theme
   Modern dark + accent gradient
   ========================================== */

/* ---------- GLOBAL FONT ---------- */
.swagger-ui {
  font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif !important;
}

body {
  margin: 0;
  background: #0f1117;
}

/* ---------- TOPBAR (header bar) ---------- */
.swagger-ui .topbar {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #ec4899 100%) !important;
  padding: 0 !important;
  height: 56px;
  display: flex;
  align-items: center;
  box-shadow: 0 2px 12px rgba(99, 102, 241, 0.3);
}

.swagger-ui .topbar .download-url-wrapper {
  display: none !important;
}

.swagger-ui .topbar-wrapper {
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.swagger-ui .topbar-wrapper a {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.swagger-ui .topbar-wrapper img[alt="Swagger UI"] {
  content: none !important;
  display: none !important;
}

/* ---------- INFO SECTION (hero) ---------- */
.swagger-ui .scheme-container {
  background: linear-gradient(180deg, #1a1d29 0%, #0f1117 100%) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
  margin: 0 !important;
  padding: 0 !important;
}

.swagger-ui .info {
  background: transparent;
  margin: 0 auto !important;
  max-width: 1460px;
  padding: 40px 24px 28px !important;
}

.swagger-ui .info .title {
  color: #f8fafc !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.swagger-ui .info .title::before {
  content: "🎬";
  font-size: 28px;
}

.swagger-ui .info .description {
  margin-top: 16px;
}

.swagger-ui .info .description p,
.swagger-ui .info .description li {
  color: #94a3b8 !important;
  line-height: 1.8 !important;
  font-size: 14px !important;
}

.swagger-ui .info .description h1,
.swagger-ui .info .description h2,
.swagger-ui .info .description h3 {
  color: #e2e8f0 !important;
}

.swagger-ui .info .description strong {
  color: #818cf8 !important;
}

.swagger-ui .info .description code {
  background: rgba(99, 102, 241, 0.15) !important;
  color: #a5b4fc !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  font-size: 13px !important;
}

.swagger-ui .info .baseurl {
  color: #64748b !important;
}

/* ---------- SERVERS DROPDOWN ---------- */
.swagger-ui .scheme-container .schemes {
  background: transparent !important;
  padding: 0 24px 20px !important;
}

.swagger-ui .scheme-container .schemes > label,
.swagger-ui .scheme-container .schemes > span {
  color: #94a3b8 !important;
}

/* ---------- WRAPPER / MAIN ---------- */
.swagger-ui .wrapper {
  max-width: 1460px !important;
  padding: 0 24px !important;
}

/* ---------- TAG SECTIONS ---------- */
.swagger-ui .opblock-tag {
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #e2e8f0 !important;
  padding: 16px 0 !important;
  margin: 0 !important;
}

.swagger-ui .opblock-tag:hover {
  background: rgba(99, 102, 241, 0.03);
}

.swagger-ui .opblock-tag-section {
  margin-bottom: 8px !important;
}

/* ---------- OPERATION BLOCKS ---------- */
.swagger-ui .opblock {
  border-radius: 10px !important;
  border: none !important;
  background: #1a1d29 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
  margin: 8px 0 !important;
  overflow: hidden;
  transition: box-shadow 0.2s ease;
}

.swagger-ui .opblock:hover {
  box-shadow: 0 4px 16px rgba(99, 102, 241, 0.15) !important;
}

/* GET method - purple accent */
.swagger-ui .opblock.opblock-get {
  background: #1a1d29 !important;
  border-left: 4px solid #6366f1 !important;
}

.swagger-ui .opblock.opblock-get .opblock-summary-method {
  background: linear-gradient(135deg, #6366f1, #8b5cf6) !important;
  color: #fff !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  min-width: 70px !important;
  text-align: center;
  box-shadow: 0 2px 8px rgba(99, 102, 241, 0.3);
}

.swagger-ui .opblock.opblock-get .opblock-summary {
  border-color: rgba(255, 255, 255, 0.05) !important;
}

.swagger-ui .opblock-summary-method {
  border-radius: 6px !important;
}

/* Summary text */
.swagger-ui .opblock .opblock-summary-description,
.swagger-ui .opblock .opblock-summary-path {
  color: #e2e8f0 !important;
}

.swagger-ui .opblock .opblock-summary-path {
  font-weight: 600 !important;
  font-size: 15px !important;
}

.swagger-ui .opblock .opblock-summary-description {
  color: #94a3b8 !important;
  font-size: 13px !important;
}

/* ---------- EXPANDED OPERATION ---------- */
.swagger-ui .opblock-body {
  padding: 16px 20px !important;
}

.swagger-ui .opblock-body pre {
  background: #0d0f14 !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  padding: 16px !important;
}

.swagger-ui .opblock-body pre .syntaxhighlighter,
.swagger-ui .opblock-body pre code {
  color: #a5b4fc !important;
}

/* ---------- PARAMETERS TABLE ---------- */
.swagger-ui .parameters-col_name {
  color: #e2e8f0 !important;
  font-weight: 600 !important;
}

.swagger-ui .parameters-col_description {
  color: #94a3b8 !important;
}

.swagger-ui .parameters-col_description input[type=text],
.swagger-ui .parameters-col_description input[type=number],
.swagger-ui .parameters-col_description select {
  background: #0f1117 !important;
  border: 1px solid rgba(99, 102, 241, 0.3) !important;
  border-radius: 6px !important;
  color: #e2e8f0 !important;
  padding: 8px 12px !important;
  transition: border-color 0.2s;
}

.swagger-ui .parameters-col_description input:focus,
.swagger-ui .parameters-col_description select:focus {
  border-color: #6366f1 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15) !important;
}

/* Parameter required marker */
.swagger-ui .parameter__required {
  color: #f87171 !important;
}

/* ---------- BUTTONS ---------- */
.swagger-ui .btn {
  border-radius: 8px !important;
  font-weight: 600 !important;
  transition: all 0.2s ease;
}

.swagger-ui .btn.execute {
  background: linear-gradient(135deg, #6366f1, #8b5cf6) !important;
  border: none !important;
  color: #fff !important;
  padding: 10px 24px !important;
  font-size: 14px !important;
  box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3) !important;
}

.swagger-ui .btn.execute:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(99, 102, 241, 0.4) !important;
}

.swagger-ui .btn.try-out__btn,
.swagger-ui .btn.btn-clear {
  background: #1a1d29 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: #e2e8f0 !important;
}

.swagger-ui .btn.try-out__btn:hover {
  border-color: #6366f1 !important;
  color: #818cf8 !important;
}

/* ---------- RESPONSE SECTION ---------- */
.swagger-ui .responses-inner {
  padding: 12px 0 !important;
}

.swagger-ui .responses .response-col_status {
  color: #94a3b8 !important;
  font-weight: 600 !important;
}

.swagger-ui .responses .response-col_description {
  color: #64748b !important;
}

/* ---------- MODELS SECTION ---------- */
.swagger-ui section.models {
  background: #1a1d29 !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
  margin-top: 24px !important;
}

.swagger-ui section.models h4 {
  color: #e2e8f0 !important;
  font-weight: 700 !important;
}

.swagger-ui .model-container {
  background: #0f1117 !important;
  border-radius: 8px !important;
}

.swagger-ui .model-box .model-title {
  color: #818cf8 !important;
}

/* ---------- TABLES ---------- */
.swagger-ui table thead tr th,
.swagger-ui table thead tr td {
  border-bottom: 2px solid rgba(99, 102, 241, 0.2) !important;
  color: #94a3b8 !important;
  font-weight: 600 !important;
}

.swagger-ui table .response-col_description__inner {
  color: #64748b !important;
}

/* ---------- SCROLLBAR ---------- */
.swagger-ui ::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.swagger-ui ::-webkit-scrollbar-track {
  background: #0f1117;
}

.swagger-ui ::-webkit-scrollbar-thumb {
  background: #2a2d3a;
  border-radius: 5px;
  border: 2px solid #0f1117;
}

.swagger-ui ::-webkit-scrollbar-thumb:hover {
  background: #3a3d4a;
}

/* ---------- FILTER / SEARCH BAR ---------- */
.swagger-ui .filter-container {
  margin: 0 !important;
  padding: 8px 24px !important;
}

.swagger-ui .filter .operation-filter-input {
  background: #1a1d29 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 8px !important;
  color: #e2e8f0 !important;
  padding: 8px 16px !important;
}

.swagger-ui .filter .operation-filter-input:focus {
  border-color: #6366f1 !important;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15) !important;
}

/* ---------- LINKS ---------- */
.swagger-ui a.nostyle {
  color: #818cf8 !important;
}

.swagger-ui a.nostyle:hover {
  color: #a5b4fc !important;
}

/* ---------- FOOTER ---------- */
.swagger-ui .renderedmarkdown p,
.swagger-ui .renderedmarkdown a {
  color: #818cf8 !important;
}

/* ---------- LOGO REPLACEMENT ---------- */
.swagger-ui .topbar-wrapper a::after {
  content: "🎬 Dramaku API";
  color: #fff !important;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.3px;
}
