/**
 * MatchLogic Custom Branding for HelpScout Docs
 * Site: help.matchlogic.io
 *
 * Brand Colors:
 *   Primary Purple: #5A189A
 *   Light Purple:   #7924CB
 *   Secondary:      #DBC9FF
 *   Accent BG:      #FBF5FF
 *
 * HelpScout HTML structure (verified from live site):
 *   #mainNav .navbar-inner .container-fluid .brand span
 *   #docsSearch #searchBar input.search-query / button
 *   #contentArea .category-list .category h3 / .article-count
 *   .most-pop-articles .popArticles
 *   footer.center
 */

/* ============================================================================
   CSS Variables
   ============================================================================ */

:root {
  --ml-primary: #5A189A;
  --ml-primary-light: #7924CB;
  --ml-primary-dark: #3C096C;
  --ml-secondary: #DBC9FF;
  --ml-accent-bg: #FBF5FF;
  --ml-text-primary: #1A1A1A;
  --ml-text-secondary: #4B5563;
  --ml-border: #E8E6F6;
}

/* ============================================================================
   Global Page Background
   ============================================================================ */

body {
  background-color: #ffffff !important;
  color: var(--ml-text-primary) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
}

/* ============================================================================
   Header / Navbar (#mainNav)
   ============================================================================ */

#mainNav {
  background-color: var(--ml-primary) !important;
  border-bottom: none !important;
  box-shadow: 0 2px 8px rgba(90, 24, 154, 0.15) !important;
}

#mainNav .navbar-inner {
  background-color: var(--ml-primary) !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
  filter: none !important;
}

#mainNav .container-fluid {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* ============================================================================
   Logo / Brand
   ============================================================================ */

#mainNav .navbar-inner .container-fluid {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

#mainNav .brand {
  display: block !important;
  float: none !important;
  margin: 0 auto !important;
  padding: 48px 0 40px !important;
  background: transparent !important;
  border: none !important;
  text-decoration: none !important;
  text-align: center !important;
}

/* Inject MatchLogic logo before the brand text */
#mainNav .brand::before {
  content: "" !important;
  display: block !important;
  width: 180px !important;
  height: 40px !important;
  margin: 0 auto !important;
  background-image: url("https://cdn.prod.website-files.com/63d7b3235fa5ca763a4aa170/693fb1fe2bbe7d91a2d8cf23_matchlogic%20logo%20navbar.svg") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
}

/* Hide the default "Knowledge Base" text, logo replaces it */
#mainNav .brand span {
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  display: block !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Navigation links in header */
#mainNav .nav > li > a {
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none !important;
  border: none !important;
  transition: color 0.2s ease !important;
}

#mainNav .nav > li > a:hover {
  color: #ffffff !important;
  background-color: rgba(255, 255, 255, 0.1) !important;
}

/* ============================================================================
   Search Section (#docsSearch)
   ============================================================================ */

#docsSearch {
  background-color: var(--ml-primary) !important;
  border: none !important;
  padding: 10px 0 48px !important;
}

#searchBar {
  background: transparent !important;
  border: none !important;
}

#searchBar input.search-query {
  border: 2px solid rgba(255, 255, 255, 0.3) !important;
  border-right: none !important;
  border-radius: 0 !important;
  background-color: #ffffff !important;
  color: var(--ml-text-primary) !important;
  font-size: 15px !important;
  padding: 12px 16px !important;
  box-shadow: none !important;
  outline: none !important;
}

#searchBar input.search-query::placeholder {
  color: #9CA3AF !important;
}

#searchBar input.search-query:focus {
  border-color: var(--ml-secondary) !important;
  box-shadow: 0 0 0 3px rgba(219, 201, 255, 0.4) !important;
}

#searchBar button {
  background-color: var(--ml-primary-dark) !important;
  color: #ffffff !important;
  border: 2px solid var(--ml-primary-dark) !important;
  border-radius: 0 !important;
  padding: 12px 24px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
  box-shadow: none !important;
}

#searchBar button:hover {
  background-color: var(--ml-primary-light) !important;
  border-color: var(--ml-primary-light) !important;
}

#searchBar button .icon-search {
  color: #ffffff !important;
}

/* Search results dropdown */
#serp-dd {
  background-color: #ffffff !important;
  border: 1px solid var(--ml-border) !important;
  border-radius: 0 0 6px 6px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
}

#serp-dd .result li a {
  color: var(--ml-text-primary) !important;
  border-bottom: 1px solid var(--ml-border) !important;
}

#serp-dd .result li a:hover {
  background-color: var(--ml-accent-bg) !important;
  color: var(--ml-primary) !important;
}

/* ============================================================================
   Main Content Area (#contentArea)
   ============================================================================ */

#contentArea {
  background-color: #ffffff !important;
  border: none !important;
  padding-top: 40px !important;
}

/* ============================================================================
   Category List (Home Page)
   ============================================================================ */

.category-list {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  background: transparent !important;
  border: none !important;
}

.category-list .category {
  display: block !important;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  text-align: center !important;
  background-color: #ffffff !important;
  border: 1px solid var(--ml-border) !important;
  border-radius: 8px !important;
  padding: 24px 16px !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  overflow: visible !important;
}

.category-list .category:hover {
  border-color: var(--ml-primary) !important;
  box-shadow: 0 4px 16px rgba(90, 24, 154, 0.1) !important;
  transform: translateY(-2px) !important;
}

.category-list .category h3 {
  color: var(--ml-primary) !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  margin: 0 0 6px 0 !important;
  border: none !important;
  padding: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
}

.category-list .category .article-count {
  color: var(--ml-text-secondary) !important;
  font-size: 13px !important;
  margin: 0 !important;
}

.category-list .category .article-count .notranslate {
  color: var(--ml-primary) !important;
  font-weight: 600 !important;
}

/* ============================================================================
   Most Popular Articles (Home Page)
   ============================================================================ */

.most-pop-articles h2 {
  color: var(--ml-primary) !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  border-bottom: 2px solid var(--ml-border) !important;
  padding-bottom: 12px !important;
}

.popArticles li {
  border-bottom: 1px solid var(--ml-border) !important;
}

.popArticles li a {
  color: var(--ml-text-primary) !important;
  text-decoration: none !important;
  padding: 12px 0 !important;
  border: none !important;
  transition: color 0.2s ease !important;
}

.popArticles li a:hover {
  color: var(--ml-primary) !important;
}

.popArticles li a .icon-article-doc {
  color: var(--ml-primary-light) !important;
}

/* ============================================================================
   Article Content (Article Pages)
   ============================================================================ */

/* Article headings */
#contentArea h1 {
  color: var(--ml-primary) !important;
  font-weight: 700 !important;
  font-size: 32px !important;
  line-height: 1.2 !important;
  margin-bottom: 24px !important;
}

#contentArea h2 {
  color: var(--ml-primary) !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  margin-top: 32px !important;
  margin-bottom: 16px !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid var(--ml-border) !important;
}

#contentArea h3 {
  color: var(--ml-primary) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  margin-top: 24px !important;
  margin-bottom: 12px !important;
  border: none !important;
  padding: 0 !important;
}

#contentArea h4,
#contentArea h5,
#contentArea h6 {
  color: var(--ml-primary-light) !important;
  font-weight: 600 !important;
}

/* Article body text */
#contentArea p {
  color: var(--ml-text-primary) !important;
  line-height: 1.7 !important;
  font-size: 15px !important;
}

/* Article links */
#contentArea a {
  color: var(--ml-primary) !important;
  text-decoration: none !important;
  border-bottom: 1px solid transparent !important;
  transition: all 0.2s ease !important;
}

#contentArea a:hover {
  color: var(--ml-primary-light) !important;
  border-bottom-color: var(--ml-primary-light) !important;
}

/* Article lists */
#contentArea ul li,
#contentArea ol li {
  color: var(--ml-text-primary) !important;
  line-height: 1.7 !important;
  margin-bottom: 6px !important;
}

#contentArea li strong {
  color: var(--ml-primary) !important;
}

/* Article tables */
#contentArea table {
  border-collapse: collapse !important;
  width: 100% !important;
  border: 1px solid var(--ml-border) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  margin: 16px 0 !important;
}

#contentArea thead {
  background-color: var(--ml-accent-bg) !important;
  border-bottom: 2px solid var(--ml-primary) !important;
}

#contentArea thead th {
  color: var(--ml-primary) !important;
  font-weight: 700 !important;
  padding: 12px 16px !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  text-align: left !important;
}

#contentArea tbody tr {
  border-bottom: 1px solid var(--ml-border) !important;
}

#contentArea tbody tr:hover {
  background-color: var(--ml-accent-bg) !important;
}

#contentArea tbody td {
  padding: 10px 16px !important;
  font-size: 14px !important;
  color: var(--ml-text-primary) !important;
}

/* Article code */
#contentArea code {
  background-color: #f5f3f7 !important;
  color: var(--ml-primary) !important;
  border: 1px solid var(--ml-border) !important;
  border-radius: 4px !important;
  padding: 2px 6px !important;
  font-family: "Monaco", "Menlo", "Ubuntu Mono", monospace !important;
  font-size: 13px !important;
}

#contentArea pre {
  background-color: #f5f3f7 !important;
  border: 1px solid var(--ml-border) !important;
  border-radius: 6px !important;
  padding: 16px !important;
  overflow-x: auto !important;
  line-height: 1.5 !important;
}

#contentArea pre code {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* Article blockquotes */
#contentArea blockquote {
  border-left: 4px solid var(--ml-primary) !important;
  background-color: var(--ml-accent-bg) !important;
  padding: 12px 16px !important;
  margin: 16px 0 !important;
  border-radius: 0 6px 6px 0 !important;
}

#contentArea blockquote p {
  margin: 0 !important;
}

/* Article images */
#contentArea img {
  max-width: 100% !important;
  border-radius: 6px !important;
  border: 1px solid var(--ml-border) !important;
}

/* ============================================================================
   Sidebar / Article Navigation (Category Pages)
   ============================================================================ */

.sidebar-nav,
.articleList {
  background: transparent !important;
  border: none !important;
}

.sidebar-nav a,
.articleList a {
  color: var(--ml-text-primary) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
  border: none !important;
}

.sidebar-nav a:hover,
.articleList a:hover {
  color: var(--ml-primary) !important;
}

.sidebar-nav a.active,
.articleList a.active {
  color: var(--ml-primary) !important;
  font-weight: 600 !important;
}

/* ============================================================================
   Breadcrumbs
   ============================================================================ */

.breadcrumb {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

.breadcrumb li,
.breadcrumb a {
  color: var(--ml-text-secondary) !important;
  font-size: 13px !important;
}

.breadcrumb a:hover {
  color: var(--ml-primary) !important;
}

.breadcrumb .divider {
  color: #D1D5DB !important;
}

/* ============================================================================
   Footer
   ============================================================================ */

footer.center {
  background-color: var(--ml-accent-bg) !important;
  border-top: 1px solid var(--ml-border) !important;
  padding: 24px !important;
}

footer.center p {
  color: var(--ml-text-secondary) !important;
  font-size: 13px !important;
}

footer.center a {
  color: var(--ml-primary) !important;
}

footer.center a:hover {
  color: var(--ml-primary-light) !important;
}

/* ============================================================================
   Scrollbars
   ============================================================================ */

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: rgba(90, 24, 154, 0.03);
}

::-webkit-scrollbar-thumb {
  background-color: rgba(90, 24, 154, 0.25);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background-color: rgba(90, 24, 154, 0.4);
}

/* ============================================================================
   Responsive
   ============================================================================ */

@media (max-width: 768px) {
  .category-list {
    grid-template-columns: repeat(2, 1fr) !important;
    padding: 0 20px !important;
  }

  #mainNav .brand::before {
    width: 120px !important;
    height: 28px !important;
  }

  #contentArea h1 {
    font-size: 24px !important;
  }

  #contentArea h2 {
    font-size: 20px !important;
  }

  #contentArea h3 {
    font-size: 16px !important;
  }

  #docsSearch {
    padding: 20px 0 30px !important;
  }
}

/* ============================================================================
   Print
   ============================================================================ */

@media print {
  #mainNav,
  #docsSearch,
  footer.center {
    display: none !important;
  }

  body {
    background: #ffffff !important;
  }

  #contentArea h1,
  #contentArea h2,
  #contentArea h3 {
    color: var(--ml-primary) !important;
    page-break-after: avoid !important;
  }
}
