/*
 * BinikStock V493 — sitewide primary-purple action system.
 *
 * The dark navy palette remains available for structural surfaces such as the
 * global header, homepage hero, footer and dashboard top bars. Filled primary
 * actions and selected controls use the contributor-profile violet reference.
 */

:root {
  --bs-primary-purple: #6045ff;
  --bs-primary-purple-mid: #5838f6;
  --bs-primary-purple-deep: #4f2ee8;
  --bs-primary-purple-gradient: linear-gradient(135deg, #6045ff 0%, #5838f6 48%, #4f2ee8 100%);
  --bs-primary-purple-gradient-hover: linear-gradient(135deg, #6d53ff 0%, #5e3df8 48%, #4324d8 100%);
  --bs-primary-purple-shadow: 0 14px 34px rgba(96, 69, 255, .24);
  --bs-primary-purple-shadow-hover: 0 18px 42px rgba(96, 69, 255, .30);

  /* Backward-compatible aliases used by the older global action contract. */
  --bs-action-dark-start: #6045ff;
  --bs-action-dark-mid: #5838f6;
  --bs-action-dark-end: #4f2ee8;
  --bs-action-dark-gradient: var(--bs-primary-purple-gradient);
  --bs-action-dark-gradient-hover: var(--bs-primary-purple-gradient-hover);
}

/*
 * Canonical filled actions. These are deliberately scoped to interactive
 * controls; navy text and structural navy surfaces are not recolored.
 */
html body .bs-v156-search button,
html body .icons-page-next-btn,
html body .iconsol-v108-next-page,
html body a.iconsol-v108-next-page,
html body.search-results .iconsol-v183-search-pagination .iconsol-v108-next-page,
html body.search .iconsol-v183-search-pagination .iconsol-v108-next-page,
html body .iconsol-v183-search-pagination .iconsol-v108-next-wrap a.iconsol-v108-next-page,
html body .iconsol-v183-search-pagination a.iconsol-v108-next-page,
html body .iconsol-v105-pagination a.iconsol-v108-next-page,
html body .iconsol-v105-chips a.is-active,
html body .iconsol-v105-sort button,
html body .iconsol-v166-filter-smart-search button,
html body .icons-page-search button,
html body .pack-search-submit,
html body .pack-download-btn,
html body .v43-pack-detail .pack-download-btn,
html body .iconsol-v66-modal .iconsol-v66-download,
html body .iconsol-v66-download,
html body .iconsol-v88-page button[type="submit"],
html body .iconsol-v88-page .iconsol-v100-cta,
html body .iconsol-v88-page .iconsol-v129-submit,
html body .iconsol-v88-page .iconsol-v129-plan-option.is-active,
html body .bs-pricing-cards a,
html body .iconsol-auth-submit,
html body .iconsol-v105-view-switch a.is-active,
html body .iconsol-v98-save-main,
html body .iconsol-v98-password-submit,
html body .iconsol-v129-submit,
html body .iconsol-v88-premium,
html body .iconsol-v88-primary,
html body .iconsol-v102-freeplan-btn,
html body .iconsol-v121-dl-actions a,
html body .bs-legal-signup,
html body .bs-v156-signup,
html body .bs-v156-newsletter button,
html body .iconsol-v52-btn.primary,
html body .iconsol-v52-toggle input:checked + span,
html body .bs-v453-drawer-foot button,
html body .bs-v453-category-tabs .iconsol-v105-chips a.is-active,
html body .bs-v454-view-control a.is-active,
html body .binikstock-upload-thankyou-ok,
html body .bs-cdash-action,
html body .bs-cdash-draft-side a,
html body .binikstock-draft-publish,
html body .bs-v332-profile-pagination .icons-page-next-btn,
html body .bs-v281-empty a,
html body .bs-v337-save,
html body .binikstock-draft-uploader .iconsol-v52-btn.primary,
html body .bs-cdash-v234-continue,
html body .bs-v243-profile-actions a.is-primary,
html body .bs-v339-save,
html body .bs-v398-plan-button,
html body .bs-v400-plan-button,
html body .bs-v403-support-launch,
html body .bs-cdash-v238-card-actions .is-submit,
html body .bs-cdash-v238-empty a,
html body .bs-cdash-v238-editor-actions button.is-primary,
html body .bs-cdash-v238-editor-bottom button.is-primary,
html body .bs-admin-placeholder a,
html body .bs-admin-help a,
html body .bs-admin-cats a.is-active,
html body.bs-admin-body .bs-rq-apply,
html body.bs-admin-body .bs-rq-status-tabs a.is-active,
html body.bs-admin-body .bs-rq-cat-tabs a.is-active,
html body.bs-admin-body .bs-rq-pagination nav a.is-active,
html body.bs-admin-body .bs-ap-cats a.is-active,
html body.bs-admin-body .bs-reports-search button,
html body.bs-admin-body .bs-reports-search a,
html body.bs-admin-body .bs-v361-view-profile,
html body.bs-user-admin-body .bs-plan-table footer nav a.is-active,
html body.bs-cdash-body .bs-cdash-main :is(
  .bs-v251-shared-cats .bs-v239-review-cat,
  .bs-cdash-category-card,
  .bs-cdash-v236-category-strip > a,
  .bs-v297-cat-card,
  .bs-v243-profile-metric
).is-active {
  background: var(--bs-primary-purple-gradient) !important;
  background-color: var(--bs-primary-purple) !important;
  background-image: var(--bs-primary-purple-gradient) !important;
  border-color: var(--bs-primary-purple) !important;
  color: #fff !important;
  box-shadow: var(--bs-primary-purple-shadow) !important;
}

html body .bs-v156-search button:hover,
html body .icons-page-next-btn:hover,
html body .iconsol-v108-next-page:hover,
html body a.iconsol-v108-next-page:hover,
html body.search-results .iconsol-v183-search-pagination .iconsol-v108-next-page:hover,
html body.search .iconsol-v183-search-pagination .iconsol-v108-next-page:hover,
html body .iconsol-v183-search-pagination .iconsol-v108-next-wrap a.iconsol-v108-next-page:hover,
html body .iconsol-v183-search-pagination a.iconsol-v108-next-page:hover,
html body .iconsol-v105-pagination a.iconsol-v108-next-page:hover,
html body .iconsol-v105-sort button:hover,
html body .iconsol-v166-filter-smart-search button:hover,
html body .icons-page-search button:hover,
html body .pack-search-submit:hover,
html body .pack-download-btn:hover,
html body .v43-pack-detail .pack-download-btn:hover,
html body .iconsol-v66-modal .iconsol-v66-download:hover,
html body .iconsol-v66-download:hover,
html body .iconsol-v88-page button[type="submit"]:hover,
html body .bs-pricing-cards a:hover,
html body .iconsol-auth-submit:hover,
html body .iconsol-v98-save-main:hover,
html body .iconsol-v98-password-submit:hover,
html body .iconsol-v129-submit:hover,
html body .iconsol-v88-premium:hover,
html body .iconsol-v88-primary:hover,
html body .iconsol-v102-freeplan-btn:hover,
html body .iconsol-v121-dl-actions a:hover,
html body .bs-legal-signup:hover,
html body .bs-v156-signup:hover,
html body .bs-v156-newsletter button:hover,
html body .iconsol-v52-btn.primary:hover,
html body .bs-v453-drawer-foot button:hover,
html body .binikstock-upload-thankyou-ok:hover,
html body .bs-cdash-action:hover,
html body .bs-cdash-draft-side a:hover,
html body .binikstock-draft-publish:hover,
html body .bs-v332-profile-pagination .icons-page-next-btn:hover,
html body .bs-v281-empty a:hover,
html body .bs-v337-save:hover,
html body .binikstock-draft-uploader .iconsol-v52-btn.primary:hover,
html body .bs-cdash-v234-continue:hover,
html body .bs-v243-profile-actions a.is-primary:hover,
html body .bs-v339-save:hover,
html body .bs-v398-plan-button:hover,
html body .bs-v400-plan-button:hover,
html body .bs-v403-support-launch:hover,
html body .bs-cdash-v238-card-actions .is-submit:hover,
html body .bs-cdash-v238-empty a:hover,
html body .bs-cdash-v238-editor-actions button.is-primary:hover,
html body .bs-cdash-v238-editor-bottom button.is-primary:hover,
html body .bs-admin-placeholder a:hover,
html body .bs-admin-help a:hover,
html body.bs-admin-body .bs-reports-search button:hover,
html body.bs-admin-body .bs-reports-search a:hover,
html body.bs-admin-body .bs-v361-view-profile:hover {
  background: var(--bs-primary-purple-gradient-hover) !important;
  background-color: #5e3df8 !important;
  background-image: var(--bs-primary-purple-gradient-hover) !important;
  border-color: #5838f6 !important;
  color: #fff !important;
  box-shadow: var(--bs-primary-purple-shadow-hover) !important;
}

/*
 * Pack and single-asset hover/focus states keep their sheen, lift and press
 * animations; only the former navy paint, border and shadow are recolored.
 */
html body .iconsol-v66-modal .iconsol-v66-right > .iconsol-v66-download:hover,
html body .iconsol-v66-modal .iconsol-v66-right > .iconsol-v66-download:focus-visible,
html body .iconsol-v66-modal .iconsol-v66-right > .iconsol-v66-collection:hover,
html body .iconsol-v66-modal .iconsol-v66-right > .iconsol-v66-collection:focus-visible,
html body.binikstock-public-ui .v43-pack-detail .pack-action-row > .pack-action-btn:hover,
html body.binikstock-public-ui .v43-pack-detail .pack-action-row > .pack-action-btn:focus-visible,
html body .iconsol-page.pack-detail-template.v43-pack-detail .pack-action-row > .pack-action-btn:hover,
html body .iconsol-page.pack-detail-template.v43-pack-detail .pack-action-row > .pack-action-btn:focus-visible,
html body .pack-detail-template .pack-action-row > .pack-action-btn:hover,
html body .pack-detail-template .pack-action-row > .pack-action-btn:focus-visible {
  background: var(--bs-primary-purple-gradient-hover) !important;
  background-color: #5e3df8 !important;
  background-image: var(--bs-primary-purple-gradient-hover) !important;
  border-color: var(--bs-primary-purple) !important;
  color: #fff !important;
  box-shadow: var(--bs-primary-purple-shadow-hover) !important;
}

html body .iconsol-v66-modal .iconsol-v66-right > .iconsol-v66-download:focus-visible,
html body .iconsol-v66-modal .iconsol-v66-right > .iconsol-v66-collection:focus-visible,
html body.binikstock-public-ui .v43-pack-detail .pack-action-row > .pack-action-btn:focus-visible,
html body .iconsol-page.pack-detail-template.v43-pack-detail .pack-action-row > .pack-action-btn:focus-visible,
html body .pack-detail-template .pack-action-row > .pack-action-btn:focus-visible {
  outline-color: rgba(96, 69, 255, .28) !important;
}

html body .iconsol-v66-modal .iconsol-v66-right > .iconsol-v66-download:active,
html body .iconsol-v66-modal .iconsol-v66-right > .iconsol-v66-collection:active,
html body.binikstock-public-ui .v43-pack-detail .pack-action-row > .pack-action-btn:active,
html body .iconsol-page.pack-detail-template.v43-pack-detail .pack-action-row > .pack-action-btn:active,
html body .pack-detail-template .pack-action-row > .pack-action-btn:active,
html body .iconsol-v66-modal .iconsol-v66-fav.is-liked {
  background: var(--bs-primary-purple-gradient) !important;
  background-color: var(--bs-primary-purple) !important;
  background-image: var(--bs-primary-purple-gradient) !important;
  border-color: var(--bs-primary-purple) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(96, 69, 255, .24) !important;
}

/* The user's contributor-profile reference becomes the canonical active state. */
html body .bs-v296-storefront .bs-v4510-category-tabs .bs-v297-cat-card.is-active,
html body .bs-v296-storefront .bs-v4510-category-tabs .bs-v297-cat-card[aria-current="page"],
html body .bs-v296-storefront .bs-v4510-profile-controls .bs-v329-mode-toggle a.is-active,
html body .bs-v296-storefront .bs-v297-mode-toggle a.is-active,
html body .bs-v296-storefront .bs-v296-filters a.is-active {
  background: var(--bs-primary-purple-gradient) !important;
  background-color: var(--bs-primary-purple) !important;
  background-image: var(--bs-primary-purple-gradient) !important;
  border-color: var(--bs-primary-purple) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(96, 69, 255, .22) !important;
}

html body .bs-v296-storefront .bs-v4510-category-tabs .bs-v297-cat-card.is-active :is(.bs-v297-cat-copy, strong, em),
html body .bs-v296-storefront .bs-v4510-category-tabs .bs-v297-cat-card[aria-current="page"] :is(.bs-v297-cat-copy, strong, em) {
  color: #fff !important;
}

/* Preserve white icon/text rendering inside every recolored primary action. */
html body .iconsol-v108-next-page *,
html body .pack-download-btn *,
html body .iconsol-v66-download *,
html body .iconsol-v105-chips a.is-active *,
html body .bs-v453-category-tabs .iconsol-v105-chips a.is-active *,
html body .bs-v454-view-control a.is-active * {
  color: #fff !important;
  fill: #fff !important;
  stroke: #fff !important;
}
