/* BuildKitly CONTENT (resources, docs, single post, single doc, archive/search, 404) — prefix bk-ct-.
   Geometry / presentation only for what the native controls cannot express.
   No transitions, hover motion, outlines or reduced-motion rules here: those come from bk-motion.css. */

/* ---------- loop-article-card (359): reference .editorial-tile / .article-grid ---------- */
.bk-ct-card .bk-ct-tile { aspect-ratio: 1.65; }
.bk-ct-card .bk-ct-tile-arrow { display: none; }            /* reference tile carries only the word mark */
.bk-ct-tile-num { white-space: nowrap; }
.e-loop-item .elementor-element.bk-ct-card-title .elementor-heading-title {
  font-size: 25px; line-height: 1.12; letter-spacing: -0.045em; font-weight: 500;
}
.bk-ct-card-meta .elementor-heading-title { white-space: nowrap; }
@media (max-width: 767px) {
  .bk-ct-card .bk-ct-tile { aspect-ratio: 1.9; }
}

/* ---------- resources controls: category tabs next to the search ---------- */
.bk-ct-filter-cats h5 { display: none; }
.bk-ct-filter-cats nav ul { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0; padding: 0; list-style: none; }
.bk-ct-filter-cats nav li { margin: 0; padding: 0; font-size: 14px; line-height: 1.6; }
.bk-ct-filter-cats nav li a { color: var(--e-global-color-text); text-decoration: none; }
.bk-ct-filter-cats nav li a:is(:hover, :focus-visible),
.bk-ct-filter-cats nav li.current-cat > a { color: var(--e-global-color-primary); }
.bk-ct-filter-all.bk-ct-is-all a:not(#bk-ct) { color: var(--e-global-color-primary); }
@media (max-width: 767px) {
  .bk-ct-filter { flex-wrap: wrap; row-gap: 8px; }
}

/* ---------- Pro Search widget: reference .search-field (icon 15px in, 12px gap) ---------- */
.elementor .elementor-element.elementor-widget-search.bk-ct-search-icon {
  --e-search-input-padding-inline-start: 15px;
  --e-search-icon-label-size: 22px;
  --e-search-icon-label-absolute-width: 22px;
  --e-search-input-gap: 12px;
}
.bk-ct-search .e-search-input { min-height: 50px; }

/* ---------- article + doc prose (theme-post-content) ---------- */
.bk-ct-prose p { margin: 0; }
.bk-ct-prose p + p { margin-top: 16px; }
.bk-ct-prose h2 {
  font-size: 30px; line-height: 1.12; letter-spacing: -0.045em; font-weight: 500;
  color: var(--e-global-color-primary); margin: 45px 0 20px;
}
.bk-ct-prose > h2:first-child { margin-top: 0; }
.bk-ct-prose ul, .bk-ct-prose ol { margin: 16px 0 0; padding-left: 1.2em; }
.bk-ct-prose li + li { margin-top: 8px; }
/* single post: the intro paragraph is already the lead (post excerpt) above — the reference article starts at its first section */
/* (the TOC widget injects a <span> anchor before every h2, so allow one span in between) */
.bk-ct-post .bk-ct-body > p:first-child:is(:has(+ h2), :has(+ span + h2)) { display: none; }
.bk-ct-post .bk-ct-body > p:first-child:is(:has(+ h2), :has(+ span + h2)) ~ h2:first-of-type { margin-top: 0; }
@media (max-width: 767px) {
  .bk-ct-prose h2 { font-size: 28px; }
}

/* ---------- single post rail: tile + native Table of Contents (reference .toc) ---------- */
.bk-ct-post-tile { aspect-ratio: 1.65; }
.bk-ct-toc .elementor-toc__header { padding: 0 0 18px; border: 0; }
.bk-ct-toc .elementor-toc__body { padding: 0; }
.bk-ct-toc .elementor-toc__list-wrapper { margin: 0; }
.bk-ct-toc .elementor-toc__list-item { margin: 0 0 18px; }
.bk-ct-toc .elementor-toc__list-item:last-child { margin-bottom: 0; }
.bk-ct-toc .elementor-toc__list-item-text-wrapper::before { display: none; }
.bk-ct-toc .elementor-toc__list-item-text { text-decoration: none; }
@media (min-width: 768px) {
  .bk-ct-rail { position: sticky; top: 30px; }
}
@media (max-width: 767px) {
  .bk-ct-rail { margin-bottom: 35px; }
  .elementor-widget-table-of-contents.bk-ct-toc:not(#bk-ct) { --box-background-color: var(--e-global-color-secondary); background-color: var(--e-global-color-secondary); padding: 20px; }
  .bk-ct-toc .elementor-toc__header { padding-bottom: 14px; }
}

/* ---------- docs (266) + single doc (348): reference .docs-layout ---------- */
/* one loop-doc item, two presentations: sidebar link list vs. section list */
.bk-ct-docnav .bk-ct-doc > .elementor-element:not(.bk-ct-doc-nav) { display: none; }
.bk-ct-doclist .bk-ct-doc-nav { display: none; }
.bk-ct-docnav .bk-ct-doc-nav a.bk-is-active:not(#bk-ct) { color: var(--e-global-color-primary); font-weight: 600; }
.bk-ct-doclist .bk-ct-doc-more { margin-top: 14px; }
.bk-ct-doc-help { margin-top: 40px; }
@media (min-width: 768px) {
  .bk-ct-aside { position: sticky; top: 30px; }
}
@media (max-width: 767px) {
  .e-con.bk-ct-aside:not(#bk-ct):not(.elementor-motion-effects-element-type-background) { background-color: var(--e-global-color-secondary); padding: 20px; }
  .bk-ct-docnav .elementor-loop-container { row-gap: 15px; }
  .bk-ct-docnav .bk-ct-doc-nav .elementor-heading-title { font-size: 13px; }
}

/* ---------- archive / search results ---------- */
.bk-ct-results .bk-ct-doc-title .elementor-heading-title { overflow-wrap: anywhere; }
.bk-ct-page .elementor-pagination { margin-top: 40px; font-size: 14px; display: flex; gap: 14px; justify-content: flex-start; }
.bk-ct-page .elementor-pagination .page-numbers { color: var(--e-global-color-text); }
.bk-ct-page .elementor-pagination .page-numbers.current { color: var(--e-global-color-primary); }
.bk-ct-page .e-loop-nothing-found-message { text-align: left; color: var(--e-global-color-text); font-size: 14px; }

/* ---------- long words in narrow columns (tablet 3-col cards / mobile) ---------- */
.bk-ct-page .elementor-heading-title { overflow-wrap: break-word; }
