/* Talnt Button design: Mekari Pixel MpButton-equivalent for native HTML/PHP.
 * Reference https://docs.mekari.design/components/button.html (Token 2.4)
 * Native <button>, link-as-button, and input buttons keep their real behavior.
 * Variants primary, secondary, ghost, danger, textLink; size sm/md.
 * Intentional exclusions: tabs, filter chips, navigation, complex toggle/tiles,
 * which are not MpButton and must retain their specialized interaction UI.
 */
:root {
  --px-btn-primary: var(--mk-colors-blue-500, #0768EB);
  --px-btn-primary-hover: var(--mk-colors-blue-700, #0558C7);
  --px-btn-border: var(--mk-colors-gray-100, #D0D6DD);
  --px-btn-ink: var(--mk-colors-dark, #232933);
  --px-btn-focus: var(--mk-colors-blue-400, #0768EB);
  --px-btn-danger: var(--mk-colors-red-500, #C83E39);
  --px-btn-danger-hover: var(--mk-colors-red-700, #AB3129);
}
/* Initial render before JS enhancement: map legacy button families to sane
   dimensions; JS adds explicit data-pixel-variant for every eligible control. */
:is(.btn,.ac-btn,.jf-btn,.jr-btn,.aj-btn,.jf-company-btn,.jf-users-v2-btn,
 .jf-reg-primary,.jf-reg-secondary,.jf-login-submit,.jf-real-primary,
 .jf-company-filter-btn,.jf-users-v2-filter-btn,.ds-cta,
 .job-detail-apply-primary-v085,.job-detail-apply-secondary-v085,
 .search-submit-v053,.employer-notify-btn,.employer-bottom-btn,
 .company-jobs-btn-v101,.co-card-button-v094,.jf-admin-action-btn,
 .jf-settings-modal-actions button,.jf-settings-actions button) {
  box-sizing:border-box;
  font-family:var(--mk-fonts-body,Inter,system-ui,sans-serif);
}
/* App-wide normalization uses explicit opt-in attribute, assigned by shared JS. */
[data-pixel-button="true"] {
  --px-btn-bg: var(--mk-colors-white,#fff);
  --px-btn-fg: var(--px-btn-ink);
  --px-btn-stroke: var(--px-btn-border);
  --px-btn-hover-bg: var(--mk-colors-gray-25,#F8F9FB);
  --px-btn-hover-fg: var(--px-btn-ink);
  --px-btn-hover-stroke: var(--mk-colors-gray-400,#8B95A5);
  -webkit-appearance:none;appearance:none;
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  vertical-align:middle;
  position:relative;
  gap:var(--mk-space-2,8px) !important;
  max-width:100%;
  min-height:var(--mk-space-10,40px) !important;
  height:auto;
  min-width:0;
  /* Preserve original width on full-width registration/modal actions. */
  padding:var(--mk-space-2,8px) var(--mk-space-4,16px) !important;
  border:1px solid var(--px-btn-stroke) !important;
  border-radius:var(--mk-radii-md,6px) !important;
  background:var(--px-btn-bg) !important;
  background-image:none !important;
  color:var(--px-btn-fg) !important;
  box-shadow:none !important;
  text-shadow:none !important;
  font-family:var(--mk-fonts-body,Inter,system-ui,sans-serif) !important;
  font-size:var(--mk-fontSizes-sm,14px) !important;
  font-weight:var(--mk-fontWeights-semibold,600) !important;
  line-height:var(--mk-lineHeights-md,1.45) !important;
  letter-spacing:normal !important;
  text-align:center;
  text-decoration:none !important;
  white-space:normal;
  overflow-wrap:anywhere;
  cursor:pointer;
  opacity:1;
  transform:none !important;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease !important;
  touch-action:manipulation;
}
[data-pixel-button="true"]:is(:hover,:focus-within):not(:disabled):not([aria-disabled="true"]):not([data-pixel-loading="true"]) {
  background:var(--px-btn-hover-bg) !important;
  color:var(--px-btn-hover-fg) !important;
  border-color:var(--px-btn-hover-stroke) !important;
  transform:none !important;
  box-shadow:none !important;
}
[data-pixel-button="true"][data-pixel-variant="primary"] {
  --px-btn-bg:var(--px-btn-primary);
  --px-btn-fg:var(--mk-colors-white,#fff);
  --px-btn-stroke:var(--px-btn-primary);
  --px-btn-hover-bg:var(--px-btn-primary-hover);
  --px-btn-hover-fg:var(--mk-colors-white,#fff);
  --px-btn-hover-stroke:var(--px-btn-primary-hover);
}
[data-pixel-button="true"][data-pixel-variant="secondary"] {
  --px-btn-bg:var(--mk-colors-white,#fff);
  --px-btn-fg:var(--px-btn-primary);
  --px-btn-stroke:var(--mk-colors-blue-100,#D6DFFF);
  --px-btn-hover-bg:var(--mk-colors-blue-50,#EAECFB);
  --px-btn-hover-fg:var(--px-btn-primary-hover);
  --px-btn-hover-stroke:var(--mk-colors-blue-400,#0768EB);
}
[data-pixel-button="true"][data-pixel-variant="ghost"] {
  --px-btn-bg:transparent;
  --px-btn-fg:var(--px-btn-ink);
  --px-btn-stroke:transparent;
  --px-btn-hover-bg:var(--mk-colors-gray-50,#EDF0F2);
  --px-btn-hover-fg:var(--px-btn-primary-hover);
  --px-btn-hover-stroke:transparent;
}
[data-pixel-button="true"][data-pixel-variant="danger"] {
  --px-btn-bg:var(--px-btn-danger);
  --px-btn-fg:var(--mk-colors-white,#fff);
  --px-btn-stroke:var(--px-btn-danger);
  --px-btn-hover-bg:var(--px-btn-danger-hover);
  --px-btn-hover-fg:var(--mk-colors-white,#fff);
  --px-btn-hover-stroke:var(--px-btn-danger-hover);
}
[data-pixel-button="true"][data-pixel-variant="textLink"] {
  --px-btn-bg:transparent;
  --px-btn-fg:var(--px-btn-primary);
  --px-btn-stroke:transparent;
  --px-btn-hover-bg:transparent;
  --px-btn-hover-fg:var(--px-btn-primary-hover);
  --px-btn-hover-stroke:transparent;
  padding-inline:var(--mk-space-1,4px) !important;
  min-height:0 !important;
  text-underline-offset:var(--mk-space-0-5,2px);
}
[data-pixel-button="true"][data-pixel-variant="textLink"]:hover:not(:disabled):not([aria-disabled="true"]) {text-decoration:underline !important}
[data-pixel-button="true"][data-pixel-size="sm"] {
  min-height:var(--mk-space-8,32px) !important;
  padding:var(--mk-space-1-5,6px) var(--mk-space-3,12px) !important;
  font-size:var(--mk-fontSizes-sm,14px) !important;
}
[data-pixel-button="true"][data-pixel-size="sm"][data-pixel-variant="textLink"] {padding-inline:var(--mk-space-1,4px) !important;min-height:0 !important}
[data-pixel-button="true"][data-pixel-rounded="true"] {border-radius:9999px !important}
[data-pixel-button="true"][data-pixel-full-width="true"] {width:100% !important;max-width:100% !important}
[data-pixel-button="true"][data-pixel-icon-only="true"] {
  width:var(--mk-space-10,40px) !important;
  min-width:var(--mk-space-10,40px) !important;
  height:var(--mk-space-10,40px) !important;
  min-height:var(--mk-space-10,40px) !important;
  flex:0 0 auto;
  padding:var(--mk-space-2,8px) !important;
}
[data-pixel-button="true"][data-pixel-size="sm"][data-pixel-icon-only="true"] {
  width:var(--mk-space-8,32px) !important;
  min-width:var(--mk-space-8,32px) !important;
  height:var(--mk-space-8,32px) !important;
  min-height:var(--mk-space-8,32px) !important;
  padding:var(--mk-space-1-5,6px) !important;
}
[data-pixel-button="true"] svg,
[data-pixel-button="true"] .px-button-icon {width:var(--mk-space-5,20px);height:var(--mk-space-5,20px);max-width:100%;flex-shrink:0}
[data-pixel-button="true"]:focus-visible {
  outline:2px solid var(--px-btn-focus) !important;
  outline-offset:2px !important;
  box-shadow:0 0 0 4px var(--mk-colors-blue-50,#EAECFB) !important;
}
[data-pixel-button="true"]:is(:disabled,[aria-disabled="true"]),
[data-pixel-button="true"][data-pixel-loading="true"] {
  cursor:not-allowed !important;
  opacity:.50 !important;
  transform:none !important;
  box-shadow:none !important;
}
[data-pixel-button="true"]:is(:disabled,[aria-disabled="true"]):is(:hover,:active) {background:var(--px-btn-bg) !important;color:var(--px-btn-fg) !important;border-color:var(--px-btn-stroke) !important}
[data-pixel-button="true"][data-pixel-loading="true"] {cursor:progress !important;opacity:1 !important}
[data-pixel-button="true"][data-pixel-loading="true"]::before {
  content:"";display:inline-block;flex:0 0 var(--mk-space-4,16px);
  width:var(--mk-space-4,16px);height:var(--mk-space-4,16px);
  border:2px solid currentColor;border-right-color:transparent;border-radius:50%;
  animation:px-button-spin .8s linear infinite;
}
@keyframes px-button-spin {to{transform:rotate(360deg)}}
[data-pixel-button="true"][data-pixel-icon-only="true"][data-pixel-loading="true"] > * {visibility:hidden}
[data-pixel-button="true"][data-pixel-icon-only="true"][data-pixel-loading="true"]::before {position:absolute;inset:auto}
/* Group spacing follows MpButtonGroup; retain existing layout wrapping and widths. */
:is(.jf-admin-page-actions,.nt-message-actions,.jf-settings-modal-actions,.ac-actions,.jf-admin-toolbar-actions,.px-button-group) {gap:var(--mk-space-2,8px)}
/* Admin data tables: dense actions without giant full-width controls. */
:is(.ac-table,.jf-admin-table,.jr-table) [data-pixel-button="true"] {white-space:nowrap}
@media(max-width:767.98px){
 [data-pixel-button="true"] {max-width:100%;}
 :is(.jf-admin-page-actions,.jf-settings-modal-actions,.px-button-group) {flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
 [data-pixel-button="true"] {transition:none !important;animation:none !important}
 [data-pixel-button="true"]::before {animation:none !important}
}
