/**
 * BinikStock Public Design System — V387
 * Marketplace-only typography and component normalization.
 * Dashboards and My Account intentionally do not receive this stylesheet.
 */

body.binikstock-public-ui {
  --bs-ink: #0f172a;
  --bs-ink-soft: #334155;
  --bs-muted: #64748b;
  --bs-line: #e2e8f0;
  --bs-surface: #ffffff;
  --bs-soft: #f8fafc;
  --bs-accent: #5b45ff;
  --bs-radius: 14px;
  --bs-shadow: 0 14px 38px rgba(15, 23, 42, .055);
  color: var(--bs-ink);
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.binikstock-public-ui :where(button, input, select, textarea) {
  font: inherit;
}

body.binikstock-public-ui :where(h1, h2, h3, h4, p) {
  text-wrap: pretty;
}

body.binikstock-public-ui :where(h1, h2, h3, h4, strong, b) {
  color: var(--bs-ink);
}

body.binikstock-public-ui :where(a, button) {
  -webkit-tap-highlight-color: transparent;
}

/* Global marketplace header and footer */
body.binikstock-public-ui .binikstock-v170-global-header .iconsol-logo {
  font-size: 22px;
  font-weight: 650;
  letter-spacing: -.025em;
}

body.binikstock-public-ui .binikstock-v170-global-header .iconsol-menu a {
  font-size: 13px;
  font-weight: 550;
  letter-spacing: -.005em;
}

body.binikstock-public-ui .binikstock-v170-global-header .iconsol-actions :where(a, button) {
  font-size: 12.5px;
  font-weight: 600;
}

body.binikstock-public-ui .binikstock-v167-global-footer {
  font-size: 12.5px;
  line-height: 1.65;
}

body.binikstock-public-ui .binikstock-v167-global-footer .binikstock-v167-footer-brand p {
  color: #aab7cb;
  font-size: 12.5px;
  font-weight: 400;
}

body.binikstock-public-ui .binikstock-v167-global-footer .binikstock-v167-footer-col h4 {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -.005em;
}

body.binikstock-public-ui .binikstock-v167-global-footer .binikstock-v167-footer-col a,
body.binikstock-public-ui .binikstock-v167-footer-copy {
  font-size: 12px;
  font-weight: 400;
}

/* Home */
body.binikstock-public-ui .bs-v156-copy .bs-v156-pill {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .01em;
}

body.binikstock-public-ui .bs-v156-copy h1 {
  color: var(--bs-ink);
  font-size: clamp(42px, 4.25vw, 64px);
  font-weight: 650;
  line-height: 1.04;
  letter-spacing: -.045em;
}

body.binikstock-public-ui .bs-v156-copy > p {
  max-width: 650px;
  color: #536179;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
}

body.binikstock-public-ui .bs-v156-search input,
body.binikstock-public-ui .bs-v156-popular {
  font-size: 12.5px;
  font-weight: 450;
}

body.binikstock-public-ui .bs-v156-popular strong {
  font-weight: 600;
}

body.binikstock-public-ui .bs-v156-floating-card strong {
  font-size: 12px;
  font-weight: 600;
}

body.binikstock-public-ui .bs-v163-browse-title,
body.binikstock-public-ui .bs-v156-row-head h2 {
  color: var(--bs-ink);
  font-size: 21px;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: -.022em;
}

body.binikstock-public-ui .bs-v156-row-head a {
  font-size: 12px;
  font-weight: 600;
}

body.binikstock-public-ui .bs-v156-zone-card :where(h3, strong) {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}

body.binikstock-public-ui .bs-v156-zone-card :where(p, span:not(.bs-v156-zone-icon):not(.bs-v156-arrow)) {
  font-size: 11.5px;
  font-weight: 450;
}

/* Shared public listing cards */
body.binikstock-public-ui :where(.icons-pack-card, .asset-card, .iconsol-v105-result-card) {
  color: var(--bs-ink);
}

body.binikstock-public-ui :where(.icons-pack-card__titles h3, .asset-card__info h3, .iconsol-v105-result-card h3, .bs-v192-lower-title-row strong) {
  color: var(--bs-ink);
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -.008em;
}

body.binikstock-public-ui :where(.icons-pack-card__titles span, .asset-card__info span, .bs-v192-lower-title-row span, .bs-v192-lower-owner) {
  color: var(--bs-muted);
  font-size: 10.75px;
  font-weight: 450;
  line-height: 1.4;
}

/* Category pages */
body.binikstock-public-ui .icons-page-heading h1 {
  color: var(--bs-ink);
  font-size: clamp(28px, 3vw, 36px);
  font-weight: 650;
  line-height: 1.12;
  letter-spacing: -.035em;
}

body.binikstock-public-ui .icons-page-heading :where(p, span) {
  color: #536179;
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.6;
}

body.binikstock-public-ui .icons-page-toolbar :where(button, a, select, input) {
  font-size: 12px;
  font-weight: 550;
}

body.binikstock-public-ui .icons-page-bottom-bar {
  color: var(--bs-muted);
  font-size: 11.5px;
  font-weight: 450;
}

/* Search and discovery */
body.binikstock-public-ui .iconsol-v105-search-page {
  color: var(--bs-ink);
}

body.binikstock-public-ui .iconsol-v166-filter-smart-search input,
body.binikstock-public-ui .iconsol-v105-toolbar :where(a, button, select),
body.binikstock-public-ui .iconsol-v105-filter-form :where(label, input, select) {
  font-size: 12px;
  font-weight: 500;
}

body.binikstock-public-ui .iconsol-v105-filter-head h2 {
  font-size: 16px;
  font-weight: 650;
  letter-spacing: -.015em;
}

body.binikstock-public-ui .iconsol-v105-filter-title {
  color: var(--bs-ink-soft);
  font-size: 12px;
  font-weight: 600;
}

body.binikstock-public-ui .iconsol-v105-filter-group label {
  color: #536179;
  font-size: 11.5px;
  font-weight: 450;
}

body.binikstock-public-ui :where(.iconsol-v108-pagination, .iconsol-v108-next-page) {
  font-size: 11.5px;
  font-weight: 600;
}

/* Pack detail */
body.binikstock-public-ui .pack-breadcrumb {
  color: var(--bs-muted);
  font-size: 11.5px;
  font-weight: 450;
}

body.binikstock-public-ui .pack-breadcrumb strong {
  font-weight: 550;
}

body.binikstock-public-ui .pack-hero-content h1 {
  color: var(--bs-ink);
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 650;
  line-height: 1.14;
  letter-spacing: -.035em;
}

body.binikstock-public-ui .pack-hero-content > p {
  color: #536179;
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.65;
}

body.binikstock-public-ui .pack-meta-line {
  color: var(--bs-muted);
  font-size: 11.5px;
  font-weight: 500;
}

body.binikstock-public-ui .pack-detail-main :where(.pack-assets-title, .v43-assets-title, h2) {
  color: var(--bs-ink);
  font-size: 20px;
  font-weight: 650;
  letter-spacing: -.02em;
}

body.binikstock-public-ui .v43-icon-tile {
  color: var(--bs-ink-soft);
  font-size: 11px;
  font-weight: 500;
}

/* Single asset/download modal */
body.binikstock-public-ui .iconsol-v66-card {
  color: var(--bs-ink);
  font-size: 12.5px;
  font-weight: 400;
}

body.binikstock-public-ui .iconsol-v66-card h2 {
  color: var(--bs-ink);
  font-size: 22px;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: -.025em;
}

body.binikstock-public-ui :where(.iconsol-v71-pack-meta-line, .iconsol-v66-card .asset-id, .iconsol-v66-card .updated) {
  color: var(--bs-muted);
  font-size: 10.75px;
  font-weight: 500;
}

body.binikstock-public-ui .iconsol-v66-card :where(p, li) {
  color: #536179;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
}

body.binikstock-public-ui .iconsol-v66-card :where(label, .label, dt) {
  color: var(--bs-ink-soft);
  font-size: 10.75px;
  font-weight: 600;
}

body.binikstock-public-ui .iconsol-v66-card :where(button, .button, a[download]) {
  font-size: 12px;
  font-weight: 600;
}

/* Public contributor profile/storefront */
body.binikstock-public-ui .bs-v296-storefront {
  color: var(--bs-ink);
}

body.binikstock-public-ui .bs-v296-profile-copy h1 {
  color: var(--bs-ink) !important;
  font-size: clamp(27px, 2.5vw, 34px) !important;
  font-weight: 650 !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em !important;
}

body.binikstock-public-ui .bs-v296-meta {
  color: #536179;
  font-size: 12.5px;
  font-weight: 500;
}

body.binikstock-public-ui .bs-v296-bio {
  color: #536179;
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.65;
}

body.binikstock-public-ui .bs-v296-stats-row strong {
  font-size: 14px;
  font-weight: 600;
}

body.binikstock-public-ui .bs-v296-stats-row em {
  color: var(--bs-muted);
  font-size: 10.75px;
  font-weight: 450;
}

body.binikstock-public-ui :where(.bs-v297-cat-card span, .bs-v296-category-strip span) {
  color: var(--bs-ink-soft);
  font-size: 12.5px;
  font-weight: 600;
}

body.binikstock-public-ui :where(.bs-v297-cat-card strong, .bs-v296-category-strip strong) {
  color: var(--bs-muted);
  font-size: 11px;
  font-weight: 500;
}

body.binikstock-public-ui .bs-v296-storefront .bs-v156-row-head h2,
body.binikstock-public-ui .bs-v296-browser-head h2 {
  color: var(--bs-ink) !important;
  font-size: 19px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  letter-spacing: -.02em !important;
}

body.binikstock-public-ui .bs-v329-store-search input {
  color: var(--bs-ink);
  font-size: 12px !important;
  font-weight: 450 !important;
}

body.binikstock-public-ui :where(.bs-v329-mode-toggle a, .bs-v296-filters a, .bs-v329-view-all) {
  font-size: 11.5px !important;
  font-weight: 600 !important;
}

body.binikstock-public-ui .bs-v298-single-info strong {
  color: var(--bs-ink);
  font-size: 12.5px;
  font-weight: 600;
}

body.binikstock-public-ui .bs-v298-single-info span {
  color: var(--bs-muted);
  font-size: 10.75px;
  font-weight: 450;
}

/* Legal, pricing and support pages */
body.binikstock-public-ui .bs-legal-hero-title {
  color: var(--bs-ink);
  font-size: clamp(30px, 3vw, 40px);
  font-weight: 650;
  line-height: 1.12;
  letter-spacing: -.035em;
}

body.binikstock-public-ui .bs-legal-title-row h2 {
  color: var(--bs-ink);
  font-size: 22px;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: -.025em;
}

body.binikstock-public-ui .bs-legal-content h3,
body.binikstock-public-ui .iconsol-v100-price-card h3 {
  color: var(--bs-ink);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
}

body.binikstock-public-ui :where(.bs-legal-content p, .bs-legal-content li, .bs-legal-intro) {
  color: #536179;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.7;
}

body.binikstock-public-ui .bs-legal-sidebar :where(a, button) {
  font-size: 11.5px;
  font-weight: 550;
}

body.binikstock-public-ui .iconsol-v100-price-card :where(.price, .amount) {
  color: var(--bs-ink);
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 650;
  letter-spacing: -.035em;
}

body.binikstock-public-ui .iconsol-v100-price-card :where(p, li, small) {
  color: #536179;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
}

body.binikstock-public-ui .iconsol-v100-price-card :where(a, button) {
  font-size: 12px;
  font-weight: 600;
}

/* Authentication and basic content pages */
body.binikstock-public-ui .iconsol-auth-page h1 {
  font-size: clamp(30px, 3.5vw, 44px);
  font-weight: 650 !important;
  line-height: 1.12;
  letter-spacing: -.035em;
}

body.binikstock-public-ui .iconsol-auth-form-card h2,
body.binikstock-public-ui .iconsol-basic-page h1 {
  color: var(--bs-ink);
  font-size: 26px;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -.03em;
}

body.binikstock-public-ui .iconsol-auth-form-card :where(label, legend) {
  color: var(--bs-ink-soft);
  font-size: 11.5px;
  font-weight: 600;
}

body.binikstock-public-ui .iconsol-auth-form-card :where(input, select, textarea) {
  color: var(--bs-ink);
  font-size: 12.5px;
  font-weight: 450;
}

body.binikstock-public-ui .iconsol-auth-form-card :where(p, small, a),
body.binikstock-public-ui .iconsol-basic-page :where(p, li) {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
}

body.binikstock-public-ui .iconsol-auth-form-card :where(button, .button) {
  font-size: 12.5px;
  font-weight: 600;
}

/*
 * Final cascade guard.
 *
 * Older marketplace releases contain a few intentionally strong global
 * `!important` rules.  Keep this compact public-only guard at the end of the
 * stylesheet so the V387 hierarchy wins without changing any dashboard.
 */
html body.binikstock-public-ui :where(p, li, small, em, input, textarea, select) {
  font-weight: 400 !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
}

html body.binikstock-public-ui :where(button, input[type="submit"], .button, .btn) {
  font-weight: 600 !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
}

html body.binikstock-public-ui .bs-home-v156 .bs-v156-copy h1,
html body.binikstock-public-ui .bs-home-v156 .bs-v156-copy h1 span {
  font-size: clamp(42px, 4.25vw, 64px) !important;
  font-weight: 650 !important;
  line-height: 1.04 !important;
  letter-spacing: -.045em !important;
}

html body.binikstock-public-ui .bs-home-v156 .bs-v156-copy > p {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}

html body.binikstock-public-ui .bs-home-v156 :is(.bs-v163-browse-title, .bs-v156-row-head h2) {
  font-size: 21px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  letter-spacing: -.022em !important;
}

html body.binikstock-public-ui :is(.icons-pack-card__titles h3, .asset-card__info h3, .iconsol-v105-result-card h3, .bs-v192-lower-title-row strong) {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: -.008em !important;
}

html body.binikstock-public-ui :is(.icons-pack-card__titles span, .asset-card__info span, .bs-v192-lower-title-row span, .bs-v192-lower-owner) {
  font-size: 10.75px !important;
  font-weight: 450 !important;
  line-height: 1.4 !important;
}

html body.binikstock-public-ui.page-template-page-category-listing .category-listing-template .icons-page-heading h1,
html body.binikstock-public-ui.page-template-page-icons .icons-listing-template .icons-page-heading h1,
html body.binikstock-public-ui .category-listing-template .icons-page-heading h1,
html body.binikstock-public-ui .icons-listing-template .icons-page-heading h1 {
  font-size: clamp(28px, 3vw, 36px) !important;
  font-weight: 650 !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em !important;
}

html body.binikstock-public-ui .iconsol-v105-search-page :is(.iconsol-v105-filter-head h2, .iconsol-v105-filter-title) {
  font-weight: 600 !important;
}

html body.binikstock-public-ui .v43-pack-detail .pack-hero-content h1,
html body.binikstock-public-ui .pack-detail-main .pack-hero-content h1 {
  font-size: clamp(28px, 3vw, 38px) !important;
  font-weight: 650 !important;
  line-height: 1.14 !important;
  letter-spacing: -.035em !important;
}

html body.binikstock-public-ui .iconsol-v66-modal .iconsol-v66-card h2,
html body.binikstock-public-ui .iconsol-v66-card h2 {
  font-size: 22px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  letter-spacing: -.025em !important;
}

html body.binikstock-public-ui .bs-v296-storefront .bs-v296-profile-copy h1 {
  font-size: clamp(27px, 2.5vw, 34px) !important;
  font-weight: 650 !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em !important;
}

html body.binikstock-public-ui .bs-v296-storefront :is(.bs-v296-meta, .bs-v296-bio) {
  font-weight: 400 !important;
}

html body.binikstock-public-ui .bs-v296-storefront :is(.bs-v296-stats-row strong, .bs-v297-cat-card span, .bs-v296-category-strip span) {
  font-weight: 600 !important;
}

html body.binikstock-public-ui .bs-legal-page .bs-legal-hero-title,
html body.binikstock-public-ui .bs-legal-page .bs-legal-hero h1 {
  font-size: clamp(30px, 3vw, 40px) !important;
  font-weight: 650 !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em !important;
}

html body.binikstock-public-ui .bs-legal-page .bs-legal-title-row h2 {
  font-size: 22px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  letter-spacing: -.025em !important;
}

html body.binikstock-public-ui .iconsol-auth-page h1,
html body.binikstock-public-ui .iconsol-auth-form-card h2,
html body.binikstock-public-ui .iconsol-basic-page h1 {
  font-weight: 650 !important;
}

@media (max-width: 900px) {
  html body.binikstock-public-ui .bs-home-v156 .bs-v156-copy h1,
  html body.binikstock-public-ui .bs-home-v156 .bs-v156-copy h1 span {
    font-size: clamp(38px, 8vw, 52px) !important;
  }

  body.binikstock-public-ui .bs-v156-copy > p {
    font-size: 14px;
  }

  body.binikstock-public-ui .bs-v163-browse-title,
  body.binikstock-public-ui .bs-v156-row-head h2 {
    font-size: 19px;
  }
}

@media (max-width: 600px) {
  body.binikstock-public-ui {
    font-size: 13px;
  }

  html body.binikstock-public-ui .bs-home-v156 .bs-v156-copy h1,
  html body.binikstock-public-ui .bs-home-v156 .bs-v156-copy h1 span {
    font-size: clamp(34px, 11vw, 44px) !important;
    letter-spacing: -.04em !important;
  }

  html body.binikstock-public-ui .icons-page-heading h1,
  html body.binikstock-public-ui .pack-hero-content h1,
  html body.binikstock-public-ui .bs-legal-hero-title {
    font-size: 28px !important;
  }

  body.binikstock-public-ui .iconsol-v66-card h2,
  body.binikstock-public-ui .bs-legal-title-row h2 {
    font-size: 19px;
  }
}
