/* Theme runtime — driven by active theme CSS variables */

.landing-page {
  background: var(--theme-body-bg, #f4f3f8);
  font-family: var(--theme-font-body, Inter, system-ui, sans-serif);
  color: #334155;
}

h1, h2, h3, h4, h5, h6, .hp-section-title {
  font-family: var(--theme-font-heading, Inter, system-ui, sans-serif);
  color: var(--theme-heading, #2d2a40);
}

.in-navbar {
  background: var(--theme-nav-bg, rgba(255,255,255,.92)) !important;
  min-height: var(--in-nav-height, 76px);
}
.in-navbar .nav-link {
  color: var(--theme-nav-text, #4a4580) !important;
}
.in-navbar .nav-link:hover,
.in-navbar .nav-link.active {
  color: var(--in-primary) !important;
}

[data-theme-header="dark"] .in-navbar {
  border-bottom-color: rgba(255,255,255,.08) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.25);
}
[data-theme-header="dark"] .in-navbar .navbar-toggler-icon {
  filter: invert(1);
}

[data-theme-header="colored"] .in-navbar {
  background: linear-gradient(90deg, var(--in-primary), var(--in-accent)) !important;
}
[data-theme-header="colored"] .in-navbar .nav-link {
  color: rgba(255,255,255,.92) !important;
}
[data-theme-header="colored"] .in-navbar .nav-link:hover {
  background: rgba(255,255,255,.15) !important;
  color: #fff !important;
}

.in-footer, footer.site-footer {
  background: linear-gradient(180deg, var(--theme-footer-start, #2d2a40), var(--theme-footer-end, #1e1e32));
  border-radius: var(--theme-radius, 18px) var(--theme-radius, 18px) 0 0;
}

[data-theme-footer="solid"] .in-footer {
  background: var(--theme-footer-start, #2d2a40);
}
[data-theme-footer="minimal"] .in-footer {
  background: #111827;
  border-radius: 0;
}

.hp-card, .in-public-card, .listing-card {
  border-radius: var(--theme-radius, 18px);
}

.listing-search-hero {
  background: linear-gradient(135deg, var(--theme-hero-start, var(--in-primary)) 0%, var(--theme-hero-end, var(--in-accent)) 100%);
}

.btn-in-primary {
  background: var(--in-primary);
  border-color: var(--in-primary);
}
.btn-in-primary:hover {
  background: var(--in-primary-dark);
  border-color: var(--in-primary-dark);
}

.text-in-primary { color: var(--in-primary) !important; }
.border-in-primary { border-color: var(--in-primary) !important; }
.bg-in-primary { background-color: var(--in-primary) !important; }

[data-theme-header="dark"] body.landing-page,
[data-theme-header="dark"] .landing-page {
  color: #cbd5e1;
}
[data-theme-header="dark"] .hp-section-title,
[data-theme-header="dark"] h1,
[data-theme-header="dark"] h2 {
  color: var(--theme-heading, #f1f5f9);
}

/* Admin theme manager cards */
.theme-swatch {
  height: 48px;
  border-radius: 10px 10px 0 0;
  display: flex;
}
.theme-swatch span { flex: 1; }
.theme-card {
  transition: transform .15s, box-shadow .15s;
  overflow: hidden;
}
.theme-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,0,0,.12); }
.theme-card.active { outline: 3px solid var(--in-primary, #5D579E); outline-offset: 2px; }
.template-deploy-card .badge-theme { font-size: .65rem; }