@media (hover: none), (pointer: coarse) {
  *,
  *::before,
  *::after {
    -webkit-tap-highlight-color: transparent;
  }

  a,
  button,
  [role="button"],
  summary,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  a::before,
  a::after,
  button::before,
  button::after,
  [role="button"]::before,
  [role="button"]::after,
  summary::before,
  summary::after {
    transition: none !important;
  }

  a:hover,
  button:hover,
  [role="button"]:hover,
  input:hover,
  textarea:hover,
  select:hover,
  label:hover,
  summary:hover,
  [class*="button"]:hover,
  [class*="btn"]:hover,
  [class*="card"]:hover,
  [class*="item"]:hover,
  [class*="link"]:hover,
  [class*="toggle"]:hover,
  a:active,
  button:active,
  [role="button"]:active,
  label:active,
  summary:active,
  [class*="button"]:active,
  [class*="btn"]:active,
  [class*="card"]:active,
  [class*="item"]:active,
  [class*="link"]:active,
  [class*="toggle"]:active,
  input[type="button"]:active,
  input[type="submit"]:active,
  input[type="reset"]:active {
    transform: none !important;
    filter: none !important;
  }
}

/* Component state preservation for touch interactions. */
@media (hover: none), (pointer: coarse) {
  .vacancy-description-ai-generate:hover:not(:disabled),
  .vacancy-description-ai-generate:active:not(:disabled) {
    background: #111111;
    color: #ffffff;
    transform: none;
    box-shadow: 4px 4px 0 #f4c73f;
  }

  .vacancy-description-ai-apply:hover:not(:disabled),
  .vacancy-description-ai-apply:active:not(:disabled) {
    background: #111111;
    color: #ffffff;
    transform: none;
    box-shadow: 4px 4px 0 #69d28f;
  }

  .upload-clear-button:hover:not(:disabled),
  .upload-clear-button:active:not(:disabled) {
    background: #d76464;
    color: #ffffff;
    transform: none;
    box-shadow: 3px 3px 0 #111111;
  }

  .upload-start-button:hover:not(:disabled),
  .upload-start-button:active:not(:disabled) {
    background: #111111;
    color: #ffffff;
    transform: none;
    box-shadow: 4px 4px 0 #69d28f;
  }

  .upload-start-button:hover:not(:disabled)::before {
    transform: scaleX(0);
  }

  .upload-start-button.is-cancel-mode:hover:not(:disabled),
  .upload-start-button.is-cancel-mode:active:not(:disabled) {
    background: #c94f55;
    color: #ffffff;
    transform: none;
    box-shadow: 3px 3px 0 #111111;
  }

  .candidate-card-note-save:hover:not(:disabled),
  .candidate-card-note-save:active:not(:disabled) {
    background: #111111;
    color: #ffffff;
    transform: none;
    box-shadow: 3px 3px 0 #69d28f;
  }

  .candidate-bulk-action-button:hover,
  .candidate-bulk-action-button:active,
  .saved-candidates-filter-button:hover,
  .saved-candidates-filter-button:active,
  .candidate-bulk-action-button[aria-expanded="true"],
  .saved-candidates-filter-button[aria-expanded="true"],
  .saved-candidates-filter-button.is-active {
    background: #111111;
    color: #ffffff;
    transform: none;
    box-shadow: 3px 3px 0 #f4c73f;
  }

  .candidate-bulk-action-button:hover::before,
  .saved-candidates-filter-button:hover::before,
  .candidate-bulk-action-button[aria-expanded="true"]::before,
  .saved-candidates-filter-button[aria-expanded="true"]::before,
  .saved-candidates-filter-button.is-active::before {
    transform: scaleX(0);
  }

  .upload-resume-remove:hover:not(:disabled),
  .upload-resume-remove:active:not(:disabled) {
    background: #ffffff;
    color: #111111;
    transform: none;
    box-shadow: 3px 3px 0 #111111;
  }

  .candidate-export-button.is-enabled:hover:not(:disabled),
  .candidate-export-button.is-enabled:active:not(:disabled) {
    background: #23a267;
    color: #ffffff;
    transform: none;
    box-shadow: 3px 3px 0 #111111;
  }

  .candidate-carousel-arrow:hover:not(:disabled),
  .candidate-carousel-arrow:active:not(:disabled),
  .saved-candidates-preview-arrow:hover:not(:disabled):not(.is-muted),
  .saved-candidates-preview-arrow:active:not(:disabled):not(.is-muted) {
    background: #69d28f;
    color: #111111;
    transform: none;
    box-shadow: 3px 3px 0 #111111;
  }

  .toggle-switch:hover,
  .toggle-switch:active {
    background: #f5ce4f;
    transform: none;
    box-shadow: 3px 3px 0 #111111;
  }

  .toggle-switch.is-off:hover,
  .toggle-switch.is-off:active {
    background: #d9d9d9;
  }

  .candidate-card-contact-trigger:hover,
  .candidate-card-contact-trigger:active,
  .candidate-card-note-trigger:hover:not(:disabled),
  .candidate-card-note-trigger:active:not(:disabled) {
    background: #111111;
    transform: none;
  }

  .candidate-card-question-trigger:hover,
  .candidate-card-question-trigger:active {
    background: #f5c542;
    transform: none;
  }

  .candidate-card-remove:hover:not(:disabled),
  .candidate-card-remove:active:not(:disabled) {
    background: transparent;
    color: #b42318;
    transform: none;
  }

  .candidate-card-save:hover:not(:disabled),
  .candidate-card-save:active:not(:disabled),
  .candidate-card-note-trigger:hover:not(:disabled),
  .candidate-card-note-trigger:active:not(:disabled),
  .candidate-card-question-trigger:hover,
  .candidate-card-question-trigger:active,
  .candidate-card-select:hover,
  .candidate-card-select:active,
  .candidate-card-download:hover:not(:disabled),
  .candidate-card-download:active:not(:disabled) {
    transform: none;
  }

  .candidate-card-select:hover:not(:disabled) {
    border-color: #b8c0cc;
    background: #ffffff;
  }

  .candidate-card-select.is-selected:hover:not(:disabled) {
    border-color: #111111;
    background: #4aa3df;
  }

  .workspace-general-note__save:hover:not(:disabled),
  .workspace-general-note__save:active:not(:disabled) {
    background: #111111;
    color: #ffffff;
    transform: none;
    box-shadow: 4px 4px 0 #f4c73f;
  }
}
