/* Sub-menu background fix (injected via nginx) */
.main-header-menu .sub-menu,
#site-navigation .sub-menu,
.main-navigation ul.sub-menu,
.menu .sub-menu,
ul.sub-menu {
  background-color: #ffffff !important;
  border: 1px solid #e3e8f0 !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
  padding: 6px 0 !important;
  min-width: 200px !important;
}
.main-header-menu .sub-menu li a,
#site-navigation .sub-menu li a,
.menu .sub-menu li a,
ul.sub-menu li a {
  color: #2b3441 !important;
  padding: 10px 18px !important;
  line-height: 1.5 !important;
  background-color: transparent !important;
}
.main-header-menu .sub-menu li a:hover,
#site-navigation .sub-menu li a:hover,
.menu .sub-menu li a:hover,
ul.sub-menu li a:hover,
.main-header-menu .sub-menu li.current-menu-item a {
  background-color: #f5f7fa !important;
  color: #1a5fb4 !important;
}
.main-header-menu .sub-menu li {
  background: transparent !important;
}

/* FOOTER_HEIGHT_START */
.site-below-footer-wrap,
.site-below-footer-wrap[data-section="section-below-footer-builder"],
.site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row,
.site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-section {
  min-height: 0 !important;
  padding-top: 2px !important;
  padding-bottom: 2px !important;
  align-items: center !important;
}
.site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row {
  display: block !important;
  grid-template-columns: none !important;
  text-align: center !important;
}
.ast-builder-grid-row-container-inner,
.site-below-footer-inner-wrap,
.ast-builder-footer-grid-columns,
.site-footer-below-section-1,
.site-footer-section {
  padding: 0 !important;
  margin: 0 auto !important;
  min-height: 0 !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
}
.ast-footer-copyright,
.ast-footer-copyright.ast-builder-layout-element,
.ast-flex.ast-footer-copyright {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
}
.ast-footer-copyright p {
  margin: 0 auto !important;
  padding: 3px 0 !important;
  line-height: 1.3 !important;
  font-size: 12.5px !important;
  text-align: center !important;
  width: 100% !important;
}
/* FOOTER_HEIGHT_END */





/* HOMEPAGE_WHITESPACE_START — hero fills full viewport minus footer */
body.home,
body.home #page,
body.home #content,
body.home.ast-plain-container .ast-container,
body.home.ast-plain-container.ast-no-sidebar #primary,
body.home #primary,
body.home main#main,
body.home article.page,
body.home .entry-content,
body.home .ast-no-sidebar .entry-content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body.home .entry-header.ast-no-title,
body.home .entry-header.ast-header-without-markup,
body.home .entry-header:empty {
  display: none !important;
}
/* Hero stretches: viewport height MINUS footer (~32px) */
body.home .entry-content > .wp-block-cover,
body.home .wp-block-cover.alignfull {
  min-height: calc(100vh - 32px) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* HOMEPAGE_WHITESPACE_END */

/* zz-module-explorer styles - matches WP theme (Inter + Plus Jakarta Sans) */
.zz-explorer {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 16px 32px;
  color: #1a2332;
  font-size: 15px;
}

.zz-explorer * { box-sizing: border-box; }
.zz-explorer h1, .zz-explorer h2, .zz-explorer h3 {
  font-family: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  font-weight: 600;
}

.zz-loading { color: #8895ab; padding: 40px 0; text-align: center; font-size: 15px; }

.zz-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 20px 0; flex-wrap: wrap;
  border-bottom: 1px solid #e3e8f0;
}
.zz-head h1 {
  margin: 0; font-size: 30px;
  display: flex; align-items: center; gap: 12px;
}
.zz-head .zz-icon { font-size: 32px; }
.zz-head .zz-tagline {
  width: 100%;
  font-size: 14px;
  color: #5a6477;
  margin-top: 8px;
  line-height: 1.55;
}

.zz-search-wrap { margin: 20px 0; position: relative; }
.zz-search {
  width: 100%;
  padding: 12px 16px 12px 44px;
  font-size: 15px;
  border: 1px solid #e3e8f0;
  border-radius: 999px;
  font-family: inherit;
  background: #f7f9fc url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%238895ab' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><path d='m21 21-4.3-4.3'/></svg>") no-repeat 14px center;
  outline: none;
}
.zz-search:focus {
  border-color: #58a6ff;
  background-color: #fff;
  box-shadow: 0 0 0 3px rgba(88,166,255,0.12);
}

.zz-tabs {
  display: flex; gap: 8px;
  margin: 16px 0 24px;
  flex-wrap: wrap;
  border-bottom: 1px solid #e3e8f0;
}
.zz-tab {
  padding: 10px 18px;
  font-size: 15px;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: #5a6477;
  cursor: pointer;
  font-family: inherit;
  font-weight: 500;
  margin-bottom: -1px;
  white-space: nowrap;
  transition: color 0.15s, border-color 0.15s;
}
.zz-tab:hover { color: #1a2332; }
.zz-tab.active {
  color: var(--zz-accent, #1a5fb4);
  border-bottom-color: var(--zz-accent, #1a5fb4);
  font-weight: 600;
}

.zz-section-title {
  font-size: 17px;
  color: #1a2332;
  font-weight: 600;
  margin: 30px 0 14px;
  display: flex; align-items: center; gap: 8px;
}
.zz-section-title .zz-count {
  background: #e7eef8;
  color: #5a6477;
  font-size: 12px;
  padding: 2px 9px;
  border-radius: 999px;
  font-weight: 500;
}

.zz-pinned {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}
.zz-pinned-card {
  background: linear-gradient(135deg, #ffffff 0%, #f5f9ff 100%);
  border: 1px solid #d6e4f5;
  border-left: 4px solid var(--zz-accent, #58a6ff);
  border-radius: 12px;
  padding: 18px 20px;
  text-decoration: none;
  color: inherit;
  display: block;
  transition: all 0.15s;
}
.zz-pinned-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.08);
  border-color: var(--zz-accent, #58a6ff);
}
.zz-pinned-card .zz-badge {
  display: inline-block;
  font-size: 11px;
  background: var(--zz-accent, #58a6ff);
  color: #fff;
  padding: 2px 9px;
  border-radius: 999px;
  margin-bottom: 8px;
  letter-spacing: 0.4px;
  font-weight: 600;
}
.zz-pinned-card h3 {
  margin: 0 0 6px;
  font-size: 16px;
  color: #1a2332;
  line-height: 1.4;
}
.zz-pinned-card p {
  margin: 0;
  font-size: 13px;
  color: #5a6477;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.zz-list { list-style: none; padding: 0; margin: 0; }
.zz-list li { border-bottom: 1px solid #eef2f7; }
.zz-list li:last-child { border-bottom: none; }
.zz-item {
  display: grid;
  grid-template-columns: 100px 1fr auto;
  gap: 14px;
  align-items: baseline;
  padding: 15px 8px;
  text-decoration: none;
  color: inherit;
}
.zz-item:hover { background: #f7f9fc; }
.zz-item:hover .zz-item-title { color: var(--zz-accent, #1a5fb4); }
.zz-date {
  font-size: 13px;
  color: #8895ab;
  font-variant-numeric: tabular-nums;
}
.zz-item-title {
  font-size: 15px;
  color: #1a2332;
  line-height: 1.55;
  font-weight: 500;
  transition: color 0.15s;
}
.zz-item-tags { display: flex; gap: 5px; flex-wrap: wrap; margin-left: auto; }
.zz-tag {
  font-size: 11px;
  padding: 2px 9px;
  border-radius: 999px;
  background: #f1f5fa;
  color: #5a6477;
  border: 1px solid #e3e8f0;
  white-space: nowrap;
}

.zz-empty {
  text-align: center; padding: 40px 20px;
  color: #8895ab; font-size: 14px;
}

.zz-breadcrumb {
  font-size: 13px;
  color: #8895ab;
  margin-bottom: 8px;
  padding-top: 12px;
}
.zz-breadcrumb a { color: #5a6477; text-decoration: none; }
.zz-breadcrumb a:hover { color: #1a5fb4; }

@media (max-width: 640px) {
  .zz-item { grid-template-columns: 1fr; gap: 4px; }
  .zz-item-tags { margin-left: 0; }
  .zz-date { font-size: 12px; }
  .zz-head h1 { font-size: 24px; }
}

/* GH_ARTICLE_START — GitHub-style article typography for single post pages */
.single-post .entry-content,
.single-post article.post .entry-content,
body.single .entry-content {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans",
               Helvetica, Arial, "PingFang SC", "Microsoft YaHei",
               "Apple Color Emoji", "Segoe UI Emoji", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: #1f2328 !important;
  max-width: 900px;
  margin: 0 auto;
}
body.single .entry-content h1,
body.single .entry-content h2,
body.single .entry-content h3,
body.single .entry-content h4,
body.single .entry-content h5,
body.single .entry-content h6 {
  margin-top: 24px !important;
  margin-bottom: 16px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  color: #1f2328 !important;
  font-family: inherit !important;
}
body.single .entry-content h1 {
  font-size: 2em !important;
  padding-bottom: 0.3em !important;
  border-bottom: 1px solid #d1d9e0 !important;
}
body.single .entry-content h2 {
  font-size: 1.5em !important;
  padding-bottom: 0.3em !important;
  border-bottom: 1px solid #d1d9e0 !important;
}
body.single .entry-content h3 { font-size: 1.25em !important; }
body.single .entry-content h4 { font-size: 1em !important; }
body.single .entry-content h5 { font-size: 0.875em !important; }
body.single .entry-content h6 { font-size: 0.85em !important; color: #59636e !important; }

body.single .entry-content p,
body.single .entry-content blockquote,
body.single .entry-content ul,
body.single .entry-content ol,
body.single .entry-content table,
body.single .entry-content pre {
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}
body.single .entry-content ul,
body.single .entry-content ol { padding-left: 2em !important; }
body.single .entry-content li { margin: 0.25em 0 !important; }
body.single .entry-content li > p { margin-top: 16px !important; }

body.single .entry-content a {
  color: #0969da !important;
  text-decoration: none !important;
  border-bottom: none !important;
}
body.single .entry-content a:hover { text-decoration: underline !important; }

/* Inline code */
body.single .entry-content code {
  padding: 0.2em 0.4em !important;
  font-size: 85% !important;
  background: rgba(175, 184, 193, 0.2) !important;
  border-radius: 6px !important;
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace !important;
  color: #1f2328 !important;
}
/* Code blocks */
body.single .entry-content pre {
  background: #f6f8fa !important;
  border: 1px solid #d1d9e0 !important;
  border-radius: 6px !important;
  padding: 16px !important;
  overflow: auto !important;
  font-size: 85% !important;
  line-height: 1.45 !important;
}
body.single .entry-content pre code {
  background: transparent !important;
  padding: 0 !important;
  font-size: 100% !important;
  color: #1f2328 !important;
  white-space: pre !important;
}

/* Blockquote */
body.single .entry-content blockquote {
  padding: 0 1em !important;
  color: #59636e !important;
  border-left: 0.25em solid #d1d9e0 !important;
  background: none !important;
}

/* Tables */
body.single .entry-content table {
  display: block;
  width: max-content;
  max-width: 100%;
  overflow: auto;
  border-spacing: 0;
  border-collapse: collapse;
  font-size: 14px;
  margin: 0 0 16px !important;
}
body.single .entry-content table th,
body.single .entry-content table td {
  padding: 6px 13px !important;
  border: 1px solid #d1d9e0 !important;
}
body.single .entry-content table th {
  font-weight: 600 !important;
  background: #f6f8fa !important;
}
body.single .entry-content table tr { background: transparent !important; }
body.single .entry-content table tr:nth-child(2n) { background: #f6f8fa !important; }

/* Image */
body.single .entry-content img {
  max-width: 100% !important;
  background: transparent !important;
  border-radius: 6px !important;
}

/* Horizontal rule */
body.single .entry-content hr {
  height: 0.25em !important;
  padding: 0 !important;
  margin: 24px 0 !important;
  background: #d1d9e0 !important;
  border: 0 !important;
}

body.single .entry-content strong { font-weight: 600 !important; color: inherit !important; }
body.single .entry-content em { font-style: italic !important; color: inherit !important; }
/* GH_ARTICLE_END */


/* SALES_PANEL_START */
.zz-sales-panel { margin: 24px 0 32px; }
.zz-sales-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }
.zz-sales-head h3 { margin: 0; font-size: 17px; color: #1f2328; }
.zz-sales-meta { font-size: 11px; color: #8b949e; }
.zz-sales-list { display: grid; gap: 0; border: 1px solid #d1d9e0; border-radius: 8px; overflow: hidden; }
.zz-sales-row { display: grid; grid-template-columns: 36px 50px 56px 1fr 100px; gap: 10px; align-items: center; padding: 8px 12px; border-bottom: 1px solid #e7eef8; text-decoration: none; color: inherit; background: #fff; transition: background .12s; }
.zz-sales-row:last-child { border-bottom: none; }
.zz-sales-row:hover { background: #f5f9ff; }
.zz-sales-row .zz-rank { font-weight: 700; color: #58a6ff; font-size: 14px; text-align: center; }
.zz-sales-row .zz-delta { font-size: 12px; text-align: center; font-weight: 600; }
.zz-d-up { color: #d4393b; }
.zz-d-down { color: #2ea043; }
.zz-d-new { color: #9c6cd6; }
.zz-sales-row .zz-thumb { width: 56px; height: 38px; object-fit: contain; border-radius: 4px; background: #f7f9fc; }
.zz-sales-row .zz-name { font-size: 13px; line-height: 1.4; }
.zz-sales-row .zz-name b { font-size: 14px; color: #1f2328; }
.zz-sales-row .zz-name small { color: #8b949e; font-size: 11px; }
.zz-sales-row .zz-count { text-align: right; font-weight: 700; font-size: 15px; color: #d4393b; font-variant-numeric: tabular-nums; }
.zz-sales-row .zz-count small { font-weight: 400; font-size: 11px; color: #8b949e; margin-left: 2px; }
@media (max-width: 640px) {
  .zz-sales-row { grid-template-columns: 28px 40px 1fr 80px; }
  .zz-sales-row .zz-thumb { display: none; }
}
/* SALES_PANEL_END */
