/* BuildKitly — theme catalog (owner: agent "th"): loop-theme-card 351, /themes/ /wordpress/ /shopify/ /favorites/
   /compare/ and single bk_theme 345. Geometry only: mock-browser preview (aspect ratio, container-query headline,
   image crop), per-theme mock palettes (not in ACF), select skin for bk-th.js, JS state classes.
   No transitions / hover motion here (bk-motion.css owns them). */

/* ---------- state helpers ---------- */
.bk-th-hide, .elementor .e-con.bk-th-hide, .elementor .elementor-widget.bk-th-hide { display: none !important; }
.elementor .bk-th-empty:not(.is-visible) { display: none !important; }
.bk-th-opts.is-enhanced { display: none !important; }
.bk-th-favorites .bk-th-grid .e-loop-item:not(.is-selected),
.bk-th-comparegrid .e-loop-item:not(.is-selected) { display: none !important; }

/* ---------- mock browser preview (card + single) ---------- */
.bk-th-preview { container-type: inline-size; color: #242522; text-decoration: none; }
.bk-th-preview .bk-th-chrome { position: relative; }
.bk-th-preview .bk-th-chrome::before { content: ''; position: absolute; left: 7px; top: 50%; width: 15px; height: 3px; transform: translateY(-50%);
  background: radial-gradient(circle, #c9c9c2 1.4px, transparent 1.6px) 0 0 / 6px 3px repeat-x; }
.bk-th-preview .bk-th-chrome > .elementor-widget { flex: 1 1 auto; }
.bk-th-preview .bk-th-window { aspect-ratio: 1.36; position: relative; color: #242522; }
.bk-th-preview .bk-th-mini-nav { flex: 0 0 12%; }
.elementor.elementor .bk-th-window .elementor-heading-title { color: inherit; }
.elementor.elementor .bk-th-host .elementor-heading-title { color: #76766d; }
.bk-th-preview .bk-th-mini-cta .elementor-heading-title { border-bottom: 1px solid currentColor; padding-bottom: 4px; }
.elementor.elementor .bk-th-preview .bk-th-headline .elementor-heading-title { font-family: Georgia, "Times New Roman", serif; }
.bk-th-preview .bk-th-shot { height: 71%; }
.bk-th-preview .bk-th-shot .elementor-widget-container { height: 100%; }
.bk-th-preview .bk-th-shot img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* per-theme mock palettes (reference .theme-<id>) — keyed by post id (loop item class / single body class) */
:is(.e-loop-item-206, .postid-206) .bk-th-window { background-color: #f5e9e8 !important; }
.elementor.elementor :is(.e-loop-item-206, .postid-206) .bk-th-headline .elementor-heading-title { font-style: italic; color: #614139; }
:is(.e-loop-item-207, .postid-207) .bk-th-window { background-color: #edff82 !important; }
.elementor.elementor :is(.e-loop-item-207, .postid-207) .bk-th-headline .elementor-heading-title { font-family: Arial, sans-serif; font-weight: 800; font-size: 8cqw; }
:is(.e-loop-item-208, .postid-208) .bk-th-window { background-color: #2b211d !important; color: #efe5ce; }
.elementor.elementor :is(.e-loop-item-208, .postid-208) .bk-th-headline .elementor-heading-title { font-weight: 700; }
:is(.e-loop-item-209, .postid-209) .bk-th-window { background-color: #101e37 !important; color: #d7e9ff; }
.elementor.elementor :is(.e-loop-item-209, .postid-209) .bk-th-headline .elementor-heading-title { font-family: Arial, sans-serif; font-weight: 500; }
:is(.e-loop-item-210, .postid-210) .bk-th-window { background-color: #efe9d4 !important; color: #384534; }

/* ---------- card (loop item 351) ---------- */
.bk-th-card { position: relative; min-width: 0; }
.bk-th-card .bk-th-fav a { display: grid; place-items: center; width: 31px; height: 31px; padding: 0 !important; box-shadow: 0 2px 6px rgba(0, 0, 0, .03); }
.elementor .bk-th-card .bk-th-fav a.is-on { color: var(--e-global-color-accent); }

.bk-th-svg { display: inline-block; flex: none; vertical-align: middle; }
.bk-th-card-title .elementor-heading-title a { display: inline-flex; align-items: center; gap: 15px; }
.bk-th-card-title .bk-glyph { font-size: .8em; line-height: 1; }
.bk-th-actions .elementor-heading-title a { display: inline-flex; align-items: center; gap: 6px; }
.bk-th-cmp-ico { font-size: 14px; line-height: 1; }
.bk-th-card .bk-th-cmpbox { display: none !important; }

/* compare panels */
.bk-th-comparegrid .bk-th-card { padding: 30px; border: 1px solid var(--e-global-color-border); background: var(--e-global-color-surface); border-radius: 7px; }
.bk-th-comparegrid .bk-th-card .bk-th-cmpbox { display: flex !important; }
.bk-th-comparegrid .bk-th-card :is(.bk-th-fav, .bk-th-meta, .bk-th-actions) { display: none !important; }
.bk-th-comparegrid .bk-th-dl-v .elementor-heading-title { text-align: right; }
.bk-th-comparegrid .e-loop-container { align-items: start; }

/* ---------- catalog layout ---------- */
.bk-th-select {
  display: block; width: 100%; height: 46px; padding: 0 38px 0 12px; border: 1px solid var(--e-global-color-border);
  border-radius: 5px; background: var(--e-global-color-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23656D77' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;
  color: var(--e-global-color-primary); font: 400 14px/1.4 Arial, Helvetica, sans-serif; -webkit-appearance: none; appearance: none; box-shadow: none;
}
.bk-th-select--sort { max-width: 180px; }
.bk-th-ph-sort { flex: 0 1 180px; }
.bk-th-search .e-search-input { min-height: 46px; }
.bk-th-reset .elementor-heading-title a { color: var(--e-global-color-primary); }
.bk-th-filters .bk-th-reset { align-self: start; }
/* reference <=900px: single column, filters in 3 columns (Elementor tablet range 768-1024 keeps the sidebar above 900) */
@media (min-width: 768px) and (max-width: 900px) {
  .elementor .e-con.bk-th-catalog.bk-th-catalog { --e-con-grid-template-columns: minmax(0, 1fr); }
  .elementor .e-con.bk-th-filters.bk-th-filters { --e-con-grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bk-th-filters > .bk-th-ftitle { grid-column: 1 / -1; }
  .bk-th-filters .bk-th-reset { align-self: center; }
}
@media (max-width: 767px) {
  .bk-th-filters > :is(.bk-th-ftitle, .bk-th-fblock--search) { grid-column: 1 / -1; }
  .bk-th-filters .bk-th-reset { align-self: center; }
  .bk-th-select { font-size: 14px; }
}

/* ---------- single theme ---------- */
.bk-th-singlepage .bk-th-crumb-sep .elementor-heading-title { font-size: 15px; }
.bk-th-detail-eyebrow .elementor-heading-title { text-transform: none; }
.bk-th-wide, .bk-th-wide .elementor-button { width: 100%; }
.bk-th-wide .elementor-button { justify-content: center; min-height: 48px; }
.bk-th-license.is-enhanced > .bk-th-lic-item { display: none !important; }
.bk-th-lic-note { margin: 12px 0 0; font-size: 13px; line-height: 1.6; color: var(--e-global-color-text); }
.bk-th-inline .elementor-heading-title a { display: inline-flex; align-items: center; gap: 6px; }
.bk-th-inline .bk-th-save a.is-on svg { fill: currentColor; color: var(--e-global-color-accent); }
.bk-th-devices .elementor-heading-title a { display: inline-flex; gap: 6px; align-items: center; }
.bk-th-chips .elementor-heading-title { white-space: pre-line; }
.bk-th-chips.is-ready .elementor-heading-title { display: flex; flex-wrap: wrap; gap: 12px; white-space: normal; }
.bk-th-chip { display: inline-flex; align-items: center; gap: 8px; padding: 10px 15px; border-radius: 5px; background: var(--e-global-color-secondary); font-size: 14px; }
.bk-th-lc { text-transform: lowercase; }
.bk-th-tab-p .elementor-heading-title { max-width: 850px; }
.bk-th-req > .elementor-widget { width: auto; }
.bk-th-callout { text-decoration: none; }
.bk-th-tabs .e-n-tabs-heading { border-bottom: 1px solid var(--e-global-color-border); width: max-content; max-width: 100%; margin-bottom: 0; }
.bk-th-tabs .e-n-tab-title { margin-bottom: -1px; }

/* ---------- toast (localStorage feedback) ---------- */
.bk-th-toast { position: fixed; right: 20px; bottom: 20px; z-index: 9999; max-width: calc(100vw - 40px); padding: 12px 16px; border-radius: 6px;
  background: var(--e-global-color-primary); color: var(--e-global-color-ondark, #F7F8FA); font: 400 14px/1.4 Arial, Helvetica, sans-serif;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .12); opacity: 0; visibility: hidden; pointer-events: none; }
.bk-th-toast.is-on { opacity: 1; visibility: visible; }

/* ---------- round 2 fixes ---------- */
.elementor .bk-th-fav .elementor-icon svg.bk-th-svg { fill: none !important; width: 17px; height: 17px; }
.elementor .bk-th-fav .elementor-icon.is-on svg.bk-th-svg { fill: currentColor !important; }
.elementor.elementor .bk-th-brand .elementor-heading-title { text-transform: uppercase; }
.elementor .bk-th-ph-sort { --width: 180px; width: 180px; max-width: 55%; flex: 0 1 180px; }
.elementor .bk-th-meta > .bk-th-meta-main { flex: 1 1 0; min-width: 0; }
.elementor .bk-th-count .elementor-heading-title { white-space: nowrap; }
